Euphoria 過程

過程是一組可重用的代碼,可以在你的程序中的任何地方調用。這消除了需要一次又一次地寫相同的代碼。這將幫助程序員寫的代碼模塊化。

像任何其他預先編程語言,Euphoria 也支持寫模塊化的代碼使用程序所需的所有功能。你會看到詳細的功能在隨後的章節。

你一定見過程序,如printf() 和 length()在前面的章節。我們使用這些程序,一遍又一遍,但他們已經寫在覈心Euphoria 只有一次。 

Euphoria 讓我們寫我們自己的程序。本節將解釋你如何編寫自己的程序在Euphoria 中。

過程定義:

在我們使用過程之前,我們需要定義過程。定義一個過程,在興奮的是最常用的方法,通過使用關鍵字procedure ,其次是一個獨特的過程的名稱,參數列表(可能爲空),end procedure 語句塊結束。基本語法如下所示: 

procedure procedurename(parameter-list)

statements
..........

end procedure

例子:

一個簡單的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.