Lolcode - Câu lệnh và Kiểm soát luồng

LOLCODE cho phép bạn kiểm soát luồng chương trình thông qua các câu lệnh khác nhau. Chương này giải thích các loại câu lệnh khác nhau có sẵn trong LOLCODE.

Tuyên bố biểu thức

Một biểu thức không có bất kỳ phép gán nào, tức là chỉ cần gọi một phép toán hoặc bất kỳ hàm nào, là một câu lệnh hợp pháp trong LOLCODE. Sau khi biểu thức được đánh giá, giá trị cuối cùng của nó được đặt trong IT biến tạm thời. Giá trị của CNTT vẫn nằm trong phạm vi cục bộ và tồn tại cho đến lần tiếp theo nó được thay thế bằng một biểu thức.

Tuyên bố bài tập

Các câu lệnh gán được sử dụng để gán đầu ra của bất kỳ biểu thức nào cho một biến nhất định. Chúng thường có dạng -

<any_variable> <assignment operator> <any expression>

Xin lưu ý rằng, bạn có thể sử dụng một biến trong biểu thức, ngay cả trước khi nó được gán.

Câu điều kiện

Câu lệnh If-Then

Câu lệnh if-then là một hoạt động rất đơn giản làm việc trên biến CNTT. Nó tương tự như câu lệnh if – else trong các ngôn ngữ lập trình khác như C và Java.

Có bốn từ khóa để áp dụng câu lệnh if – then.

  • HẢ?
  • YA RLY
  • KHÔNG CÓ WAI
  • OIC

Dạng chung là -

<any_expression>
O RLY?
   YA RLY
      <code to execute if above condition is true>
   NO WAI
      <code to execute in this block>
OIC

Tất cả các câu trên có thể được viết trên cùng một dòng được phân tách bằng dấu phẩy như:

BOTH SAEM NAMES AN "Name", O RLY?
   YA RLY, VISIBLE "My name is ABCD"
   NO WAI, VISIBLE "Your name is ABCD"
 OIC

Trong khi sử dụng câu lệnh if-then, một MEBBE tùy chọn <bất kỳ biểu thức nào> có thể được sử dụng giữa các khối YA RLY và NO WAI.

Nếu <bất kỳ biểu thức nào> sau MEBBE là True (WIN), thì khối đó được thực thi. Ngược lại, nếu biểu thức đó sai, khối sẽ bị bỏ qua cho đến khi có câu lệnh MEBBE, NO WAI hoặc OIC tiếp theo.

Thí dụ

<any expression>
O RLY?
   YA RLY
      <code to be executed if true>
   MEBBE <expression>
      <code to be executed mebbe is true>
   MEBBE <expression>
      <code to be executed mebbe is true>
   NO WAI
      <code to be executed if above are false>
OIC

Thí dụ

BOTH SAEM NAMES AN "NAME"
O RLY?
   YA RLY, VISIBLE "YOUR NAME IS ABCD"
   MEBBE BOTH SAEM ANIMAL AN "OUR NAME IS ABCD"
   VISIBLE "NO ABCD"
OIC

Báo cáo tình huống

Trong LOLCODE, từ khóa 'WTF?' tương tự như chuyển đổi trong nhiều ngôn ngữ khác. Từ khóa WTF? lấy IT làm giá trị biểu thức để so sánh. Để sử dụng WTF, khối so sánh được mở bởi OMG, khối này phải là một ký tự chứ không phải một biểu thức.

Hãy nhớ rằng mỗi chữ phải là duy nhất, tương tự như trường hợp của các ngôn ngữ khác.

Khối OMG phải được kết thúc bằng một câu lệnh GTFO. Nếu một khối OMG không bị kết thúc bởi GTFO, thì khối OMG tiếp theo sẽ được thực thi cho đến khi đạt đến GTFO.

Nếu không có ký tự nào đánh giá là đúng, thì trường hợp mặc định được ký hiệu bởi OMGWTF.

WTF?
   OMG <any value to compare>
      <code block to execute if expression is satisfied>
   OMG <any value to compare>
      <code block to execute if expression is satisfied>
   OMGWTF
      <code block to execute as a default case>
OIC
NAME, WTF?
   OMG "A"
      VISIBLE "ABCD"
   GTFO
   OMG "E"
      VISIBLE "EFGH"
   GTFO
   OMGWTF
      VISIBLE "ZYXW"
   OIC

Kết quả đầu ra của đoạn mã trên sẽ là:

"E":

EFGH