- Euphoria 教程
- Euphoria - 首页
- Euphoria - 概述
- Euphoria - 环境
- Euphoria - 基本语法
- Euphoria - 变量
- Euphoria - 常量
- Euphoria - 数据类型
- Euphoria - 运算符
- Euphoria - 分支
- Euphoria - 循环类型
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期和时间
- Euphoria - 过程
- Euphoria - 函数
- Euphoria - 文件I/O
- Euphoria 有用资源
- Euphoria - 快速指南
- Euphoria - 库例程
- Euphoria - 有用资源
- Euphoria - 讨论
Euphoria - 函数
Euphoria 函数与过程类似,但它们会返回一个值,并且可以用于表达式中。本章解释如何在 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 函数必须在结束语句 **end function** 之前包含 *return* 语句。任何 Euphoria 对象都可以被返回。实际上,您可以通过返回一系列对象来拥有多个返回值。例如:
return {x_pos, y_pos}
如果您没有要返回的内容,则只需返回 1 或 0。返回值 1 表示成功,0 表示失败。
广告