Câu trả lời ngắn:
Bạn không thể làm điều này trong LOLCODE 1.2.
Long trả lời:
Vì không có YARN
chức năng thao tác và không có cách nào để đúc một YARN
một cái gì đó giống như một BUKKIT
trong đề xuất 1.3 đặc điểm kỹ thuật (và rồi mà chúng ta có thể mô phỏng một chuỗi như một BUKKIT
ký tự), không thể trích xuất các số từ một chuỗi như thế.
Sử dụng chỉ là 1.2 spec, chúng tôi vẫn có thể làm công việc này, tôi đoán ...
Kể từ khi nối chuỗi đã tồn tại trong 1.2 như SMOOSH ... MKAY
, bạn có thể, về mặt lý thuyết, các biến dự trữ str01
qua str99
, và sau đó ...
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
Tiếp theo, nhận được 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
Và cuối cùng, những gì đã bao giờ bạn muốn làm với họ.
I HAZ A result
result R SUM OF number1 AN number2
VISIBLE result
Đối ...
, điền vào những điều khoản còn lại mà tận dụng các str##
biến.
Nếu bạn sẽ sử dụng điều này, tôi khuyên bạn nên sử dụng một cái gì đó để tạo LOLCODE cho bạn, viết bằng tay chỉ là không khả thi. Đặc biệt nếu bạn phải hỗ trợ các dòng nhập dài hơn như 255 hoặc 1024 ký tự.
Nếu bạn downvote câu hỏi của tôi, bạn có thể vui lòng cung cấp một bình luận xây dựng? Mặc dù có vẻ ngớ ngẩn của LOLCODE, các ngôn ngữ bí truyền là một cách đầy thử thách để thực hành các kỹ thuật mã hóa. – dpwilson
Tôi đã cập nhật câu trả lời, sau khi nhận được upvotes tôi đã kiểm tra lại và có lỗi trong đó - phải sử dụng 'DIFFRINT' thay vì' BOTH SAEM' để kiểm tra xem bạn có cần thêm một ký tự hay không. – Pimgd