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.