Euphoria语言和 Perl,C 和 Java 有许多相似之处。但是,也有一些明确的语言之间的差异。本章的目的是迅速让你了解 Euphoria 的语法。.
本教程假定您正在使用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! |
该脚本使用了Euphoria 一个内置函数puts(),它接受两个参数。第一个参数表示文件名或设备号码,第二个参数表示要打印的字符串。在这里,1表示标准输出设备。
Euphoria 标识符:
Euphoria 标识符是用来识别一个变量,函数,类,模块,或其它物体的名称。标识符以字母A到Z或a到z,然后遵循字母,数字或下划线开始。
Euphoria 不允许标点符号,如 @, $, and % 以内标识符.
Euphoria 是区分大小写的编程语言。因此Manpower 和manpower 是两个不同的标识符。有效标识符的例子:
- n
- color26
- ShellSort
- quick_sort
- a_very_long_indentifier
保留字:
下面的列表显示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 | Newline |
\r | Carriage return |
\t | Tab |
\\ | Backslash |
\" | Double quote |
\' | Single quote |
Euphoria注释:
被编译器忽略任何注释和执行速度没有影响。明智的做法是在你的程序中使用更多的注释,使其更具可读性。
注释文本有三种形式:
-
Euphoria 注释是由两个破折号开始,延伸到当前行的末尾。
-
多行格式注释内保持 /* ...*/,即使发生在另一行内。
-
在第一行程序可以使用一种特殊的注释开头的两个字符的序列 #!.
示例:
#!/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 解释器执行。