欣快感 - 程序


过程是一组可重用代码,可以从程序中的任何位置调用。这消除了一次又一次编写相同代码的需要。这有助于程序员编写模块化代码。

与任何其他高级编程语言一样,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.