位置:首页 > 高级语言 > Euphoria在线教程 > Euphoria基本语法

Euphoria基本语法

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注释:

被编译器忽略任何注释和执行速度没有影响。明智的做法是在你的程序中使用更多的注释,使其更具可读性。

注释文本有三种形式:

  1. Euphoria 注释是由两个破折号开始,延伸到当前行的末尾。

  2. 多行格式注释内保持 /* ...*/,即使发生在另一行内。

  3. 在第一行程序可以使用一种特殊的注释开头的两个字符的序列 #!.

示例:

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