Euphoria - 基本语法


Euphoria 语言与 Perl、C 和 Java 有许多相似之处。然而,这些语言之间存在一些明显的差异。本章旨在让您快速掌握 Euphoria 中所需的语法。

本教程假设您使用的是 Linux,并且所有示例都是在 Linux 平台上编写的。但观察发现Linux和WIN32上的程序语法没有任何显着差异。因此,您可以在 WIN32 上执行相同的步骤。

第一个欣快计划

让我们在脚本中编写一个简单的 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!

该脚本使用内置函数put(),它接受两个参数。第一个参数表示文件名或设备号,第二个参数表示要打印的字符串。这里1表示STDOUT设备。

欣快感标识符

Euphoria 标识符是用于标识变量、函数、类、模块或其他对象的名称。标识符以字母 A 到 Z 或 a 到 z 开头,后跟字母、数字或下划线。

Euphoria 不允许在标识符中使用标点符号,例如 @、$ 和 %。

Euphoria 是一种区分大小写的编程语言。因此,Manpower和manpower在 Euphoria 中是两个不同的标识符。例如,有效的标识符是 -

  • n
  • 颜色26
  • 希尔排序
  • 快速排序
  • 非常长的标识符

保留字

以下列表显示了 Euphoria 中的保留字。这些保留字不得用作常量、变量或任何其他标识符名称。Euphoria 关键字仅包含小写字母。

和 出口 覆盖
作为 出口 程序
休息 堕落 民众
经过 为了 重试
案件 功能 返回
持续的 全球的 常规
继续 去 转变
做 如果 然后
别的 如果定义 到
其他定义 包括 类型
埃尔西夫 标签 直到
埃尔西夫 环形 尽管
结尾 名称空间 和
入口 不是 没有
枚举 或者 异或

表达式

Euphoria 允许您通过形成表达式来计算结果。然而,在 Euphoria 中,您可以使用一个表达式对整个数据序列执行计算。

您可以像处理单个数字一样处理序列。它可以被复制、传递给子例程或作为一个单元进行计算。例如 -

{1,2,3} + 5

该表达式将序列 {1, 2, 3} 与Atomics 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 标签
\\ 反斜杠
\" 双引号
\' 单引号

欣快感的评论

任何注释都会被编译器忽略,并且不会影响执行速度。建议在程序中使用更多注释以使其更具可读性。

评论文本有三种形式 -

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

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

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

例子

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