Euphoria - 基本语法
Euphoria 语言与 Perl、C 和 Java 有许多相似之处。 然而,这些语言之间存在一些明显的差异。 本章旨在帮助您快速掌握 Euphoria 中所需的语法。
本教程假设您使用的是 Linux,并且所有示例都是在 Linux 平台上编写的。 但观察发现,Linux 和 WIN32 上的程序语法没有任何显着的差异。 因此,您可以在 WIN32 上执行相同的步骤。
第一个 Euphoria 程序
让我们在脚本中编写一个简单的 Euphoria 程序。 在 test.ex 文件中键入以下源代码并保存。
#!/home/euphoria-4.0b2/bin/eui puts(1, "Hello, Euphoria!\n")
比方说,Euphoria 解释器位于 /home/euphoria-4.0b2/bin/ 目录中。 现在运行这个程序如下 −
$ chmod +x test.ex # This is to make file executable $ ./test.ex
这会产生以下结果 −
Hello, Euphoria!
该脚本使用了内置函数puts(),它接受两个参数。 第一个参数表示文件名或设备号,第二个参数表示要打印的字符串。 这里1表示STDOUT设备。
Euphoria 标识符
Euphoria 标识符是用于标识变量、函数、类、模块或其他对象的名称。 标识符以字母 A 到 Z 或 a 到 z 开头,后跟字母、数字或下划线。
Euphoria 不允许在标识符中使用标点符号,例如 @、$ 和 %。
Euphoria 是一种区分大小写的编程语言。 因此 Manpower 和 manpower 在 Euphoria 中是两个不同的标识符。 例如,有效标识符是 −
- n
- color26
- ShellSort
- quick_sort
- a_very_long_indentifier
保留字
以下列表显示了 Euphoria 中的保留字。 这些保留字不得用作常量、变量或任何其他标识符名称。 Euphoria 关键字仅包含小写字母。
and | exit | override |
as | export | procedure |
break | fallthru | public |
by | for | retry |
case | function | return |
constant | global | routine |
continue | goto | switch |
do | if | then |
else | ifdef | to |
elsedef | include | type |
elsif | label | until |
elsifdef | loop | while |
end | namespace | with |
entry | not | without |
enum | or | xor |
表达式
Euphoria 允许您通过形成表达式来计算结果。 然而,在 Euphoria 中,您可以使用一个表达式对整个数据序列执行计算。
您可以像处理单个数字一样处理序列。 它可以被复制、传递给子例程或作为一个单元进行计算。 例如 −
{1,2,3} + 5
这是一个将序列 {1, 2, 3} 和原子 5 相加得到结果序列 {6, 7, 8} 的表达式。 您将在后续章节中学习序列。
代码块
程序员在学习 Euphoria 时遇到的第一个警告是,没有大括号来指示过程和函数定义或流程控制的代码块。 代码块由关联的关键字表示。
以下示例显示 if...then...end if 块 −
if condition then code block comes here end if
多行语句
Euphoria 中的语句通常以换行结束。 然而,Euphoria 确实允许在多行中编写一条语句。 例如 −
total = item_one + item_two + item_three
转义字符
可以使用反斜杠输入转义字符。 例如 −
下表是可以用反斜杠表示法表示的转义字符或不可打印字符的列表。
反斜杠表示法 | 描述 |
---|---|
\n | 换行符 |
\r | 回车 |
\t | 制表符 |
\\ | 反斜杠 |
\" | 双引号 |
\' | 单引号 |
Euphoria 中的注释
任何注释都会被编译器忽略,并且对执行速度没有影响。 建议在程序中使用更多注释以使其更具可读性。
注释文本有三种形式 −
注释以两个破折号开始,并延伸到当前行的末尾。
多行格式注释保留在 /*...*/ 内,即使它出现在不同的行上。
您可以使用以两个字符序列"#!"开头的特殊注释。 仅在程序的第一行。
Examples
#!/home/euphoria-4.0b2/bin/eui -- First comment puts(1, "Hello, Euphoria!\n") -- second comment /* This is a comment which extends over a number of text lines and has no impact on the program */
这会产生以下结果 −
Hello, Euphoria!
注意 − 您可以使用以"#!"开头的特殊注释。 这会通知 Linux shell 您的文件应该由 Euphoria 解释器执行。