過程是一組可重用的程式碼,可以在你的程式中的任何地方呼叫。這消除了需要一次又一次地寫相同的程式碼。這將幫助程式員寫的程式碼模組化。
像任何其他預先程式設計語言,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. |