Euphoria - 函数
Euphoria 函数就像过程一样,但它们返回一个值,并且可以在表达式中使用。 本章介绍如何在 Euphoria 中编写自己的函数。
函数定义
在使用函数之前,我们需要定义它。 在 Euphoria 中定义函数的最常见方法是使用 function 关键字,后跟唯一的函数名称、参数列表(可能为空)以及以 < 结尾的语句块 b>结束函数语句。 基本语法如下所示 −
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表示失败