📅  最后修改于: 2020-11-04 07:55:36             🧑  作者: Mango
Euphoria函数与过程一样,但是它们返回一个值,并且可以在表达式中使用。本章介绍如何在Euphoria中编写自己的函数。
在使用函数之前,我们需要对其进行定义。在Euphoria中定义函数的最常见方法是使用函数关键字,后跟唯一的函数名称,参数列表(可能为空)以及以end 函数语句结尾的语句块。基本语法如下所示-
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语句。任何幸福感对象都可以返回。实际上,通过返回对象序列,可以具有多个返回值。例如
return {x_pos, y_pos}
如果没有什么可返回的,则只需返回1或0。返回值1表示成功,0表示失败