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函數必須有 return語句在函數結果之前。任何 Euphoria 的對象可以被退回。可以有多個返回值,返回的一係列對象。例如
return {x_pos, y_pos} |
如果什麼都冇有返回,那麼簡單地返回1或0。這裡1表示成功的條件和0可以表示失敗條件。