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