📅  最后修改于: 2020-11-04 07:55:09             🧑  作者: Mango
过程是一组可重用的代码,可以从程序中的任何位置调用它们。这消除了一次又一次编写相同代码的需要。这有助于程序员编写模块化代码。
与其他任何高级编程语言一样,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.