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.