当前位置: 首页 > 文档资料 > Euphoria 中文教程 >

功能( 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表示失败