Euphoria 结构

结构可以采用序列如下:

#!/home/euphoria-4.0b2/bin/eui

sequence employee = {
   {"John","Smith"},
    45000,
    27,
    185.5
   }

printf(1, "First Name = %s, Last Name = %s\n", 
                 {employee[1][1],employee[1][2]} )

这将产生以下结果:

First Name = John, Last Name = Smith

直接序列可以执行以下操作:

一元操作:

当应用到序列的一元运算符实际上是应用序列中的每个元素的结果,得到的序列具有相同的长度。

#!/home/euphoria-4.0b2/bin/eui

sequence x
x = -{1, 2, 3, 4}

for a = 1 to length(x) do
   printf(1, "value of x[%d] = %d\n", {a, x[a]})
end for

这将产生以下结果:

value of x[1] = -1
value of x[2] = -2
value of x[3] = -3
value of x[4] = -4

算术运算:

几乎所有的算术运算可以执行的序列,如下所示:

#!/home/euphoria-4.0b2/bin/eui

sequence x, y, a, b, c
x = {1, 2, 3}
y = {10, 20, 30}

a = x + y
puts(1, "Value of a = {")
for i = 1 to length(a) do
   printf(1, "%d,", a[i])
end for
puts(1, "}\n")

b = x - y
puts(1, "Value of b = {")
for i = 1 to length(a) do
   printf(1, "%d,", b[i])
end for
puts(1, "}\n")

c = x * 3
puts(1, "Value of c = {")
for i = 1 to length(c) do
   printf(1, "%d,", c[i])
end for
puts(1, "}\n")

这将产生以下结果:

Value of a = {11,22,33,}
Value of b = {-9,-18,-27,}
Value of c = {3,6,9,}

命令行选项:

用户可以通过命令行选项一个欣快脚本和可以访问它作为一个序列使用的 command_line() 函数如下:

#!/home/euphoria-4.0b2/bin/eui

sequence x

x = command_line()

printf(1, "Interpeter Name: %s\n", {x[1]} )

printf(1, "Script Name: %s\n", {x[2]} )

printf(1, "First Argument: %s\n", {x[3]})

printf(1, "Second Argument: %s\n", {x[4]})

这里的 printf() 是一个Euphoria 的内置函数。现在,如果你运行这个脚本如下:

$eui test.ex "one" "two"

这将产生以下结果:

Interpeter Name: /home/euphoria-4.0b2/bin/eui
Script Name: test.ex
First Argument: one
Second Argument: two