Lolcode - 語法
LOLCODE 的結構是俚語。下表顯示了目前已實現的結構的字母順序列表:
| 序號 | 結構及用法 |
|---|---|
| 1 | BTW 它開始一行註釋。 |
| 2 | DOWN <變數>!!<次數> 這對應於 variable = variable - times。注意,“times”是 Wut 獨有的語言擴充套件。 |
| 3 | GIMMEH <變數> 這表示輸入語句。 |
| 4 | GTFO 這類似於其他語言中的 **break**,並提供了一種退出迴圈的方法。 |
| 5 | HAI 這對應於其他語言中的 **main ()** 函式。它是 LOLCODE 中的程式入口點。 |
| 6 | HEREZ <標籤> 這是另一個 Wut 獨有的語言擴充套件,宣告一個用於 SHOO 的標籤。 |
| 7 | I HAS A <型別> <變數> 這宣告一個指定型別的新變數。 LOLCODE 中有三種內建型別:
注意,型別是 Wut 獨有的語言擴充套件。 |
| 8 | IM IN YR LOOP 這開始一個無限迴圈。退出迴圈的唯一方法是使用 GTFO。對應於其他語言中的 for**(;)** |
| 9 | IZ <表示式1> <運算子> <表示式2>?: 條件結構 這類似於其他語言中的 if 運算子。運算子是以下之一:BIGGER THAN、SMALLER THAN、SAEM AS。注意,末尾的 ? 是可選的。 |
| 10 | KTHX 它結束一個程式碼塊。對應於 **}** |
| 11 | KTHXBAI 這結束一個程式 |
| 12 | NOWAI 這對應於 else |
| 13 | PURR <表示式> 這將引數列印到螢幕上,後跟換行符。它是 Wut 獨有的語言擴充套件。 |
| 14 | RELSE 這對應於 **else (if)** |
| 15 | SHOO 這是另一個 Wut 獨有的語言擴充套件,對應於 **goto**(可怕!) |
| 16 | UP <變數>!!<次數> 這對應於 variables = variable + times。這裡的“times”是 Wut 獨有的語言擴充套件。 |
| 17 | VISIBLE <表示式> 這將引數列印到螢幕上。注意,這不會列印換行符。 |
| 18 | YARLY 這表示“真”條件塊的開始 |
LOLCODE 中俚語的一些例子:
- HAI 是 hi
- KTHXBYE 是 okay, thanks, bye
- BTW 是 by the way
- OBTW 是 oh, by the way
- TLDR 是 too long; didn't read
空白符
在大多數程式語言中,關鍵字或標記之間可能不能有空格。但是,在某些語言中,空格用於區分標記。
逗號
逗號在大多數語言中就像換行符關鍵字一樣,例如 Java 和 C 中的 **\n**。在 LOLCODE 中,您可以在一行中編寫許多命令,前提是您使用逗號 (,) 將它們分開。
三個點 (…)
三個點 (…) 使您可以透過在行尾包含 (…) 將多行程式碼組合成一行或一個命令。這使得編譯器將下一行的內容僅視為上一行的內容。只要每行結尾都有三個點,就可以將無限行程式碼寫在一起作為一個命令。
註釋以換行符結束。請注意,lci 會忽略註釋 (BTW) 後的行延續 (…) 和 (,)。
註釋
單行註釋寫在 BTW 關鍵字之後。它們可以出現在程式主體中的任何位置:它可以位於程式的第一行、程式之間、某些行之間或程式的結尾。
所有這些都是有效的單行註釋:
I HAS A VAL ITZ 19 BTW VAL = 19 I HAS A VAL ITZ 19, BTW VAL = 19 I HAS A VAL ITZ 14 BTW VAR = 14
在 LOLCODE 中,多行註釋寫在 OBTW 之後,並以 TLDR 結束。
這是一個有效的多行註釋:
I HAS A VAL ITZ 51
OBTW this is a comment
No it’s a two line comment
Oops no.. it has many lines here
TLDR
檔案建立
LOLCODE 程式以 HAI 關鍵字開頭,應該以 KTHXBYE 結束。由於 LOLCODE 使用速記語言,HAI 基本上代表 Hi,KTHXBYE 可以記住為 **“Ok, thanks, bye”**。
示例
HAI 1.2 I HAS A NAME VISIBLE "NAME::"! GIMMEH NAME VISIBLE "tutorialsPoint " NAME "!" KTHXBYE