関数は、スクリプト内で何度も使用できる指示のセットです。 print()やtask.wait()のような事前定義された関数(メソッドとも呼ばれます)が、ほとんどのプログラミング言語に組み込まれています。また、コーダーは、何度も使いたいコードのために自分自身のカスタム関数を作成することもできますが、何度も書きたくはない場合があります。Luauでは、次のように入力することでこれを行います: local function nameOfTheFunction()
関数はレシピのように考えることができます。どちらも特定の指示のリストです。例えば、ロボットにスパゲッティの作り方を教えるために関数を使用できます。まず、食事の準備手順をリストしたlocal functionを作成します。そして、夕食が欲しいときは、"ロボット、makeSpaghetti()を実行して"と言います。
夕食を作る手順は、次のようになるかもしれません:
- 水を沸騰させる
- パスタを加える
- 15分間料理する
- ソースを加える
- 皿に盛り付ける
コードバージョンは次のようになります:
local function makeDinner()
-- 指示のリスト
end
-- コードを実行するように指示する
makeDinner()
関数を作成する
練習として、最初の関数はあなたの好きな食べ物を出力ウィンドウに表示します。まず、使用するスクリプトをセットアップします。方法を忘れた場合は、こちらを思い出してください:
- ServerScriptServiceに新しいスクリプトを作成します。
- スクリプトの名前を FunctionsPractice に変更します。
- "Hello World"を削除します。
- 一番上にコメントを追加します。例: -- あなたの好きな食べ物を表示します
次に、関数を作成して名前を付けます。すべての関数には、その目的を思い出すのに役立つ名前を付ける必要があります。関数名はキャメルケースで、最初の文字は小文字、次の単語は大文字になります。
例: addPoints(), restartGame(), rainFlamingLlamas()
- local function printFood()と入力し、次にキーボードでEnterを押します。関数が次のように自動補完されるはずです:
local function printFood()
end
関数にコードを追加する
関数のすべてのコードは、local function printFood()とendの間に入力する必要があります。これら二点の間にないコードは、関数が呼び出されたときに実行されません。
local function printFood()
-- 関数が呼び出されたときにここでコードが実行される
end
-- ここでのコードは実行されない
関数の内部にある情報、または関数によって使用できる情報はスコープ内にあります。
- local function printFood()とendの間で、print()を使用してあなたの好きな食べ物を表示します。
local function printFood()
print("カレー!")
end
関数に実行を指示する
関数が機能する前にもう一つ必要なことがあり、それは関数を実行するよう指示すること、すなわち関数を呼び出すことです。関数は呼び出されるまで実行されません。関数を呼び出すには、関数の名前と()を入力します。
endの下にprintFood()と入力します。
local function printFood()print("カレー!")endprintFood()コードをテストします。あなたの好きな食べ物がOutputウィンドウに表示されるはずです。
トラブルシューティングのヒント
もしコードが実行されない場合は、以下のようなエラーをチェックしてください:
- print("あなたの食べ物はこちら")がlocal function printFood()とendの間にあることを確認してください。
- あなたの食べ物が文字列であり、"各側に"引用符があることを確認してください。
- 関数が作成された後に呼び出されていることを確認してください。printFood()はendの下にあるべきです。