- 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 函式與過程類似,但它們會返回一個值,並且可以用於表示式中。本章解釋如何在 Euphoria 中編寫自己的函式。
函式定義
在使用函式之前,我們需要定義它。在 Euphoria 中定義函式最常用的方法是使用 **function** 關鍵字,後跟唯一的函式名、引數列表(可能為空)以及以 **end function** 語句結尾的語句塊。基本語法如下所示:
function functionname(parameter-list) statements .......... return [Euphoria Object] end function
示例
這裡定義了一個名為 sayHello 的簡單函式,它不帶任何引數:
function sayHello() puts(1, "Hello there") return 1 end function
呼叫函式
要在指令碼後面的某個地方呼叫函式,只需編寫該函式的名稱,如下所示:
#!/home/euphoria-4.0b2/bin/eui function sayHello() puts(1, "Hello there") return 1 end function -- Call above defined function. sayHello()
這將產生以下結果:
Hello there
函式引數
到目前為止,我們已經看到了沒有引數的函式。但是,在呼叫函式時,可以傳遞不同的引數。這些傳遞的引數可以在函式內部捕獲,並且可以對這些引數進行任何操作。
函式可以帶有多個用逗號分隔的引數。
示例
讓我們對我們的 *sayHello* 函式進行一些修改。這次它接受兩個引數:
#!/home/euphoria-4.0b2/bin/eui
function sayHello(sequence name,atom age)
printf(1, "%s is %d years old.", {name, age})
return 1
end function
-- Call above defined function.
sayHello("zara", 8)
這將產生以下結果:
zara is 8 years old.
return 語句
Euphoria 函式必須在結束語句 **end function** 之前包含 *return* 語句。任何 Euphoria 物件都可以被返回。實際上,您可以透過返回一系列物件來擁有多個返回值。例如:
return {x_pos, y_pos}
如果您沒有要返回的內容,則只需返回 1 或 0。返回值 1 表示成功,0 表示失敗。
廣告