Lua-functions
Lua-関数
関数は、一緒にタスクを実行するステートメントのグループです。 コードを別々の機能に分割できます。 コードを異なる関数に分割する方法はユーザー次第ですが、論理的には通常、その分割は一意であるため、各関数は特定のタスクを実行します。
Lua言語は、プログラムが呼び出すことができる多数の組み込みメソッドを提供します。 たとえば、コンソールで入力として渡された引数を印刷するメソッド* print()*。
関数は、メソッド、サブルーチン、またはプロシージャなどのさまざまな名前で知られています。
関数を定義する
Luaプログラミング言語のメソッド定義の一般的な形式は次のとおりです-
Luaプログラミング言語のメソッド定義は、_method header_と_method body_で構成されています。 ここにメソッドのすべての部分があります-
- オプションの関数スコープ-キーワード_local_を使用して関数のスコープを制限したり、スコープセクションを無視してグローバル関数にすることができます。
- 関数名-これは関数の実際の名前です。 関数名とパラメーターリストは一緒に関数シグネチャを構成します。
- 引数-引数はプレースホルダーのようなものです。 関数が呼び出されると、引数に値を渡します。 この値は、実際のパラメーターまたは引数と呼ばれます。 パラメータリストは、メソッドの引数のタイプ、順序、および数を参照します。 引数はオプションです。つまり、メソッドには引数が含まれない場合があります。
- 関数本体-メソッド本体には、メソッドの動作を定義するステートメントのコレクションが含まれます。
- Return -Luaでは、returnキーワードにコンマ区切りの戻り値を続けることにより、複数の値を返すことができます。
例
以下は、* max()*という関数のソースコードです。 この関数は2つのパラメータnum1とnum2を取り、2つの間の最大値を返します-
関数の引数
関数が引数を使用する場合、引数の値を受け入れる変数を宣言する必要があります。 これらの変数は、関数の*仮パラメータ*と呼ばれます。
仮パラメータは、関数内の他のローカル変数のように動作し、関数に入ると作成され、終了すると破棄されます。
関数を呼び出す
Lua関数を作成するときに、関数が何をする必要があるかを定義します。 メソッドを使用するには、その関数を呼び出して定義済みのタスクを実行する必要があります。
プログラムが関数を呼び出すと、プログラム制御は呼び出された関数に転送されます。 呼び出された関数は、定義されたタスクを実行し、そのreturnステートメントが実行されるか、関数の終わりに達すると、プログラム制御をメインプログラムに戻します。
メソッドを呼び出すには、必要なパラメーターとメソッド名を渡すだけでよく、メソッドが値を返す場合は、戻り値を保存できます。 たとえば-
上記のコードを実行すると、次の出力が得られます。
関数の割り当てと受け渡し
Luaでは、関数を変数に割り当てたり、変数を別の関数のパラメーターとして渡すこともできます。 Luaで関数をパラメーターとして割り当てて渡す簡単な例を次に示します。
上記のコードを実行すると、次の出力が得られます。
可変引数を持つ関数
'…'をパラメーターとして使用して、Luaで可変引数を持つ関数を作成することができます。 関数が平均を返し、変数の引数を取ることができる例を見ると、これを把握できます。
上記のコードを実行すると、次の出力が得られます。