简答:
在 LOLCODE 1.2 中你不能这样做。
长答案:
由于在提议的 1.3 规范中没有 YARN 操作函数并且无法将 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
接下来,获取 NUMBRs...
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 个字符。