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可以表示失敗條件。