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