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. |