Euphoria 函数和过程是一样的,但它们返回一个值,并且可以在表达式中使用。
本节将解释你如何在Euphoria 中编写自己的函数。
函数定义:
在我们使用一个函数之前,我们需要定义这个函数。最常用的方法是使用function关键字定义一个函数,在兴奋,其次是独特的函数名,参数列表(可能为空),end function 的声明语句块结束。基本语法如下所示:
function functionname(parameter-list) statements .......... return [Euphoria Object] end function |
例子:
一个简单的 sayHello函数不带参数在这里被定义:
function sayHello() puts(1, "Hello there") return 1 end function |
调用函数:
以后在脚本中要调用一个函数的地方,简单需要编写的名称,函数如下:
#!/home/euphoria-4.0b2/bin/eui function sayHello() puts(1, "Hello there") return 1 end function -- Call above defined function. sayHello() |
这将产生以下结果:
Hello there |
函数参数:
到现在我们已经看到函数没有参数。但是有一个设施,传递不同的参数,同时调用一个函数。这些传递的参数可以被捕获在函数内部,并可以对这些参数进行任何操作。
函数可以用逗号分隔的多个参数。
例子:
让我们做一点修改我们的SayHello函数。这一次,它将带有两个参数:
#!/home/euphoria-4.0b2/bin/eui function sayHello(sequence name,atom age) printf(1, "%s is %d years old.", {name, age}) return 1 end function -- Call above defined function. sayHello("zara", 8) |
这将产生以下结果:
zara is 8 years old. |
return 语句:
Euphoria函数必须有 return语句在函数结果之前。任何 Euphoria 的对象可以被退回。可以有多个返回值,返回的一系列对象。例如
return {x_pos, y_pos} |
如果什么都没有返回,那么简单地返回1或0。这里1表示成功的条件和0可以表示失败条件。