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