スポンサーリンク

【Roblox開発】Luaの基本:構文やコメントの記述について

Roblox

Roblox(ロブロックス)のゲーム開発のスクリプト言語に使われているLuaスクリプトに関する解説です。

ここではLuaプログラミングの基本となる構文やコメントの記述などについて説明しています。

スポンサーリンク

記述における規約

予約語

以下のワードはLuaスクリプトの構文などに使用するためのワードのため、変数名などに使用することはできません。(アルファベット順)

andbreakdoelseelseifendfalseforfunctiongotoifinlocalnilnotorrepeatreturnthentrueuntilwhile

大文字と小文字の区別

Luaスクリプトでは大文字と小文字が区別される。上記のrepeatは予約語のため使用することができませんが、RepeatREPEATは異なる名前として扱うことができます。

また、_REPEATのように「アンダースコア+大文字で始まる名前」の使用は慣例として避けるよう推奨されます。

記号

以下の記号はLua構文で使用されるトークン(演算子などの字句要素)となっています。

+-*/%^#&~|<<>>//==~=<=>=<>=(){}[]::;:,......

スポンサーリンク

Luaの基本構文

コメント

コメントはふたつのハイフン--で記述する。コメントは行末まで有効。コメント内は自由な文字列を記述可能です。

複数行のコメントはハイフン+2重ブラケット(角括弧)--[[]]で記述します。--[[がコメント開始の記述となり、対応する]]までがコメントアウトされます。

慣例として閉じカッコは--]]と記述されることもあります。

Robloxのサンプルプロジェクトのコードでは--[[--]]の記法が使われています。

サンプルコード:コメント

--これはコメントです。
--[[これもコメントです。]]
--[[
コメントは複数行に
記述することもできます。
--]]

ブロック

順番に実行される構文のひとまとまりをブロックと呼びます。

ブロックを区切るためにdo ... end文を使用することが可能です。doendの構文そのものに機能はありませんが、do文を使うことで処理の単位や区切りを明示して処理の流れを把握しやすくすることができます。

サンプルコード:do … end

do
  if connection then connection:disconnect() end
  contextActionService:UnbindAction("Reload")
  game.ReplicatedStorage:WaitForChild("ROBLOX_PistolUnequipEvent"):FireServer()
  hud.AmmoHud:TweenPosition(UDim2.new(1.5, 0, 0.95, 0), "InOut", "Quad", 0.3, true)
  runService:UnbindFromRenderStep("Sights")
  userInputService.MouseIconEnabled = true
  hud.Crosshair.Visible = false
  neck.C0 = oldNeckC0
  shoulder.C0 = oldShoulderC0
end

文の区切り/セミコロン

Luaスクリプトは分の区切りにセミコロン;を使うことができるが必須ではありません。セミコロンが記述されていない場合でも構文を自動的に解釈して処理されます。

ただし、関数の呼び出しなどの記述により文法の解釈があいまいになるケースがあります。

a = b + c
(print or io.write)('done')

上記の記述は以下の2通りの解釈が可能。

a = b + c(print or io.write)('done') --関数Cの引数
a = b + c; (print or io.write)('done') --b+cの実施後、無名関数の呼び出し

Roblox Studioでは上記構文はエラーとなります。

スポンサーリンク

WordPress&Cocoonのお悩みにお答えします

クラベルではWordPressのブログサイト構築、Cocoonテーマの導入やカスタマイズに関するご相談を承っております。

お困りの方はぜひ一度お問い合わせください。また、現在ココナラをつかったサービス出品も始めてみました。お悩みおひとつの解決からお手軽にお申込みできますので、こちらもぜひあわせてご覧ください。

最短当日★ワードプレスの疑問質問トラブル解決します ご相談無料!初心者歓迎!優しく丁寧、徹底的にサポートします!
Cocoonテーマサイト構築&カスタマイズします ご相談無料★公式サポート対象外もOK!プログラミングはお任せ
RobloxWeb開発
この記事は良かったですか?
最新情報をお届けします。
クラベルをフォローする
スポンサーリンク
この記事を書いた人
クラベル

Webサイト構築、Wordpressのカスタマイズやphpプログラミングなどやってます。BPM(ビジネスプロセス管理)、BPR(業務改革)コンサルなどにも従事。世の中すべてピタゴラ装置をモットーに自動化します。ブログは省エネ運営中。Cocoonカスタマイズやゲーム、ガジェットの話題など。

プロフィール詳細、お仕事のご依頼はこちら

クラベルをフォローする
クラベル
タイトルとURLをコピーしました