功能( Functions)
优质
小牛编辑
135浏览
2023-12-01
Euphoria函数就像过程一样,但是它们返回一个值,并且可以在表达式中使用。 本章介绍如何在Euphoria中编写自己的函数。
函数定义 (Function Definition)
在我们使用函数之前,我们需要定义它。 在Euphoria中定义函数的最常用方法是使用function关键字,后跟唯一的函数名,参数列表(可能为空),以及以end function语句结束的语句块。 基本语法如下所示 -
function functionname(parameter-list)
statements
..........
return [Euphoria Object]
end function
例子 (Example)
这里定义了一个名为sayHello的简单函数,它不带参数 -
function sayHello()
puts(1, "Hello there")
return 1
end function
调用一个函数 (Calling a Function)
要在稍后的脚本中调用某个函数,您只需要编写该函数的名称,如下所示 -
#!/home/euphoria-4.0b2/bin/eui
function sayHello()
puts(1, "Hello there")
return 1
end function
-- Call above defined function.
sayHello()
这会产生以下结果 -
Hello there
功能参数
直到现在我们已经看到没有参数的功能。 但是在调用函数时有一个传递不同参数的工具。 可以在函数内捕获这些传递的参数,并且可以对这些参数进行任何操作。
函数可以采用逗号分隔的多个参数。
例子 (Example)
让我们在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函数在关闭语句end function之前必须具有return语句。 可以返回任何Euphoria对象。 实际上,通过返回一系列对象,您可以拥有多个返回值。 例如
return {x_pos, y_pos}
如果没有任何要返回的内容,则只返回1或0.返回值1表示成功,0表示失败