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 是一种区分大小写的编程语言。因此,Manpowermanpower 在 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 中的注释

编译器会忽略任何注释,并且对执行速度没有任何影响。建议在程序中使用更多注释以提高可读性。

注释有三种形式:

  • 注释以两个破折号开头,一直延伸到当前行的末尾。

  • 多行格式注释保留在 /*...*/ 内,即使它出现在不同的行上。

  • 您可以在程序的第一行使用以两个字符序列“#!”开头的特殊注释。

示例

#!/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 解释器执行。

广告