假设我有一个字符串,它采用的形式"## ##"中stdin,我想读的,如"15 16".这很简单:
I HAS A STRINGY
GIMMEH STRINGY
Run Code Online (Sandbox Code Playgroud)
它抓住了整条线stdin并将其存储到字符串中,不好意思,YARN- called STRINGY.
我如何提取字符串中的两个整数?我希望能够存储15和16作为整数(LULZ I MEANS NUMBR).
Pim*_*mgd 16
简短回答:
你不能在LOLCODE 1.2中这样做.
答案很长:
由于没有YARN操作函数,也没有办法在建议的1.3规范中抛出YARN类似的东西BUKKIT(因此我们可以将字符串模拟BUKKIT为字符),因此不可能从字符串中提取数字.
使用1.2规格,我们仍然能够完成这项工作,我猜...
由于字符串连接已经在1.2存在的SMOOSH ... MKAY,你可以在理论上,储备变量str01通过str99,然后......
IM IN YR readloop UPPIN YR throwawayvariable WILE BOTH OF NOT broken AN DIFFRINT currentyarn AN STRINGY
str01, WTF?
OMG "Z"
str99 R str98
str98 R str97
str97 R str96
...
str02 R str01
str01 R ""
GTFO
OMG "Y"
str01 R "Z";
GTFO
OMG "X"
str01 R "Y";
GTFO
...
OMG "0"
str01 R "1";
GTFO
OMG ""
str01 R "0"
GTFO
OMGWTF
I HAS A ERRORMSG
ERRORMSG R SMOOSH "I DUNNO WAT U SAY, illegal character", str01 MKAY
VISIBLE ERRORMSG
broken R WIN
GTFO
OIC
currentyarn R SMOOSH str01, str02, str03, str04, ..., str98, str99 MKAY
IM OUTTA YR readloop
Run Code Online (Sandbox Code Playgroud)
接下来,获取NUMBR ...
NOT broken, O RLY? YA RLY
yarnnumber R ""
done R FAIL
IM IN YR parseloop UPPIN YR otherthrowaway WILE NOT done
EITHER OF BOTH SAEM str01 AN " " AN BOTH SAEM str01 AN "", O RLY? YA RLY
number1 R 0
DIFFRINT yarnnumber AN "", O RLY? YA RLY
number1 R MAEK yarnnumber A NUMBR
OIC
done R WIN
MEBBE DIFFRINT str01 AN ""
yarnnumber R SMOOSH yarnnumber, str01 MKAY
OIC
str01 R str02
str02 R str03
str03 R str04
...
str98 R str99
str99 R ""
IM OUTTA YR parseloop
yarnnumber R ""
done R FAIL
IM IN YR parseloop2 UPPIN YR otherthrowaway2 WILE NOT done
EITHER OF BOTH SAEM str01 AN " " AN BOTH SAEM str01 AN "", O RLY? YA RLY
number2 R 0
DIFFRINT yarnnumber AN "", O RLY? YA RLY
number2 R MAEK yarnnumber A NUMBR
OIC
done R WIN
MEBBE DIFFRINT str01 AN ""
yarnnumber R SMOOSH yarnnumber, str01 MKAY
OIC
str01 R str02
str02 R str03
str03 R str04
...
str98 R str99
str99 R ""
IM OUTTA YR parseloop2
OIC
Run Code Online (Sandbox Code Playgroud)
最后,你想做什么.
I HAZ A result
result R SUM OF number1 AN number2
VISIBLE result
Run Code Online (Sandbox Code Playgroud)
对于...,填写使用str##变量的其余语句.
如果您要使用它,我建议您使用一些东西来为您生成LOLCODE,手写这个是不可行的.特别是如果你必须支持更长的输入行,如255或1024个字符.
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |