- 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 也支持编写使用过程的模块化代码所需的所有功能。
您可能在前面的章节中看到过诸如 printf() 和 length() 之类的过程。我们一次又一次地使用这些过程,但它们只在 Euphoria 核心代码中编写过一次。
Euphoria 也允许您编写自己的过程。本节说明如何在 Euphoria 中编写自己的过程。
过程定义
在使用过程之前,您需要定义它。在 Euphoria 中定义过程最常见的方法是使用 procedure 关键字,后跟唯一的过程名称、参数列表(可能为空)以及以 end procedure 语句结尾的语句块。基本语法如下所示:
procedure procedurename(parameter-list) statements .......... end procedure
示例
这里定义了一个名为 sayHello 的简单过程,它不带任何参数:
procedure sayHello() puts(1, "Hello there") end procedure
调用过程
要在脚本中的稍后某个位置调用过程,您只需编写该过程的名称,如下所示:
#!/home/euphoria-4.0b2/bin/eui procedure sayHello() puts(1, "Hello there") end procedure -- Call above defined procedure. sayHello()
这会产生以下结果:
Hello there
过程参数
到目前为止,您已经看到了没有参数的过程。但是,在调用过程时,有一种传递不同参数的机制。这些传递的参数可以在过程中捕获,并且可以对这些参数进行任何操作。
过程可以接受用逗号分隔的多个参数。
示例
让我们对 sayHello 过程进行一些修改。这次它将接受两个参数:
#!/home/euphoria-4.0b2/bin/eui
procedure sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
end procedure
-- Call above defined procedure.
sayHello("zara", 8)
这会产生以下结果:
zara is 8 years old.
广告