假设我有一个字符串,该字符串以stdin中的stdin形式表示,我想在其中阅读,例如"15 16"。这很简单:
I HAS A STRINGY
GIMMEH STRINGY它从stdin抓起了整条线,并将其存储在字符串中--呃,不好意思,叫做STRINGY的纱线。
如何提取字符串中的两个整数?我希望能够将15和16分别存储为整数(LULZ的意思是麻木)。
发布于 2015-08-27 12:42:55
简短回答:
在LOLCODE 1.2中不能这样做。
长答案:
由于没有YARN操作函数,也无法将YARN转换为建议的1.3规范中的BUKKIT (因此我们可以将字符串模拟为字符的BUKKIT ),因此不可能从这样的字符串中提取数字。
仅仅使用1.2规范,我们仍然可以做到这一点,我想.
由于字符串连接在1.2中已经作为SMOOSH ... MKAY存在,理论上您可以通过str99保留变量str01,然后.
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接下来,得到麻木..。
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最后,你想对他们做什么。
I HAZ A result
result R SUM OF number1 AN number2
VISIBLE result对于...,填写使用str##变量的其余语句。
如果您要使用这个,我建议使用一些东西来为您生成LOLCODE,用手工编写这个是不可行的。特别是如果您必须支持更长的输入行,如255个或1024个字符。
https://stackoverflow.com/questions/29762129
复制相似问题