Euphoria-functions
提供:Dev Guides
幸福感-機能
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_関数を少し変更してみましょう。 今回は2つのパラメータがかかります-
#!/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は失敗を示します