Lua-basic-syntax
Lua-基本構文
最初のLuaプログラムの作成を始めましょう!
最初のLuaプログラム
インタラクティブモードプログラミング
Luaは、インタラクティブモードと呼ばれるモードを提供します。 このモードでは、指示を次々に入力して、すぐに結果を得ることができます。 これは、lua -iまたは単にluaコマンドを使用して、シェルで呼び出すことができます。 これを入力したら、Enterを押すと、以下に示すように対話モードが開始されます。
$ lua -i
$ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available
あなたは次の文を使用して何かを印刷することができます-
print("test")
Enterキーを押すと、次の出力が表示されます-
test
デフォルトモードプログラミング
Luaファイル名パラメーターでインタープリターを呼び出すと、ファイルの実行が開始され、スクリプトが終了するまで続行されます。 スクリプトが終了すると、インタープリターはアクティブではなくなります。
簡単なLuaプログラムを作成しましょう。 すべてのLuaファイルの拡張子は.luaになります。 したがって、test.luaファイルに次のソースコードを配置します。
print("test")
lua環境が正しく設定されていると仮定して、次のコードを使用してプログラムを実行しましょう-
$ lua test.lua
私たちは次の出力を取得します-
test
Luaプログラムを実行する別の方法を試してみましょう。 以下は、変更されたtest.luaファイルです-
#!/usr/local/bin/lua
print("test")
ここでは、/usr/local/binディレクトリーでLuaインタープリターが使用可能であると想定しています。 #記号で始まる場合、最初の行はインタープリターによって無視されます。 今、次のようにこのプログラムを実行してみてください-
$ chmod a+rx test.lua
$./test.lua
次の出力が得られます。
test
Luaプログラムの基本構造を見てみましょう。これにより、Luaプログラミング言語の基本的な構成要素を理解しやすくなります。
Luaのトークン
Luaプログラムはさまざまなトークンで構成され、トークンはキーワード、識別子、定数、文字列リテラル、またはシンボルのいずれかです。 たとえば、次のLuaステートメントは3つのトークンで構成されています-
io.write("Hello world, from ",_VERSION,"!\n")
個々のトークンは-
io.write
(
"Hello world, from ",_VERSION,"!\n"
)
コメント
コメントは、Luaプログラムのテキストを支援するようなもので、インタープリターによって無視されます。 以下に示すように、それらは-で終わり、文字-で終わります-
--[[my first program in Lua --]]
識別子
Lua識別子は、変数、関数、またはその他のユーザー定義アイテムを識別するために使用される名前です。 識別子は、文字「A to Z」または「a to z」またはアンダースコア「_」で始まり、その後に0個以上の文字、アンダースコア、および数字(0〜9)が続きます。
Luaでは、識別子内で@、$、%などの句読点文字を使用できません。 Luaは「大文字と小文字を区別する」プログラミング言語です。 したがって、_Manpower_と_manpower_はLuaの2つの異なる識別子です。 ここに許容可能な識別子のいくつかの例があります-
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
キーワード
次のリストは、Luaの予約語のいくつかを示しています。 これらの予約語は、定数、変数、またはその他の識別子名として使用できません。
and | break | do | else |
elseif | end | false | for |
function | if | in | local |
nil | not | or | repeat |
return | then | true | until |
while |
Luaの空白
コメントが含まれている可能性がある空白のみを含む行は空白行と呼ばれ、Luaインタープリターは完全に無視します。
空白は、空白、タブ、改行文字、コメントを説明するためにLuaで使用される用語です。 空白はステートメントの一部を別の部分から分離し、インタープリターがステートメントの1つの要素(intなど)がどこで終わり、次の要素が始まるかを識別できるようにします。 したがって、次のステートメントで-
local age
インタープリターがそれらを区別できるようにするには、ローカルと年齢の間に少なくとも1つの空白文字(通常はスペース)が必要です。 一方、次の文で-
fruit = apples + oranges --get the total fruit
果物と=、または=とリンゴの間には空白文字は必要ありませんが、読みやすくするために空白文字を自由に含めることができます。