Короткий ответ:
Вы не можете сделать это в LOLCODE 1,2.
Длинный ответ:
Как нет YARN
функции манипулирования и нет возможности бросить YARN
к чему-то, как BUKKIT
в предлагаемой 1.3 спецификации (после чего, которые мы могли бы симулировать строку как 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 символа.
Если вы отрицаете мой вопрос, не могли бы вы представить конструктивный комментарий? Несмотря на глупость LOLCODE, эзотерические языки - это сложный способ практиковать методы кодирования. – dpwilson
Я обновил ответ, получив upvotes, я проверил его снова, и в нем есть ошибка - ему пришлось использовать 'DIFFRINT' вместо' BOTH SAEM' для проверки необходимости добавления символа. – Pimgd