- Euphoria 教程
- Euphoria - 首頁
- Euphoria - 概述
- Euphoria - 環境
- Euphoria - 基本語法
- Euphoria - 變數
- Euphoria - 常量
- Euphoria - 資料型別
- Euphoria - 運算子
- Euphoria - 分支
- Euphoria - 迴圈型別
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期和時間
- Euphoria - 過程
- Euphoria - 函式
- Euphoria - 檔案 I/O
- Euphoria 有用資源
- Euphoria - 快速指南
- Euphoria - 庫例程
- Euphoria - 有用資源
- Euphoria - 討論
Euphoria - 過程
過程是一組可重用的程式碼,可以在程式中的任何位置呼叫。這消除了重複編寫相同程式碼的需要。這有助於程式設計師編寫模組化程式碼。
與任何其他高階程式語言一樣,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.
廣告