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")

ここでは、Luaインタープリターが/ usr / local / binディレクトリーで使用可能であると想定しています。最初の行は、#記号で始まる場合、インタプリタによって無視されます。ここで、このプログラムを次のように実行してみてください-

$ 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からZ」または「aからz」またはアンダースコア「_」で始まり、その後に0個以上の文字、アンダースコア、および数字(0から9)が続きます。

Luaでは、識別子内に@、$、%などの句読文字を使用できません。Luaはcase sensitiveプログラミング言語。したがって、ManpowermanpowerはLuaの2つの異なる識別子です。受け入れ可能な識別子の例を次に示します-

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

キーワード

次のリストは、Luaで予約されている単語のいくつかを示しています。これらの予約語は、定数や変数、またはその他の識別子名として使用することはできません。

そして ブレーク 行う そうしないと
elseif 終わり false にとって
関数 もし 地元
nil ない または 繰り返す
戻る その後 true まで
一方

Luaの空白

おそらくコメント付きの空白のみを含む行は空白行と呼ばれ、Luaインタープリターはそれを完全に無視します。

空白は、空白、タブ、改行文字、およびコメントを説明するためにLuaで使用される用語です。空白は、ステートメントの一部を別の部分から分離し、インタプリタがintなどのステートメントの1つの要素が終了し、次の要素が開始する場所を識別できるようにします。したがって、次のステートメントでは-

local age

通訳者がそれらを区別できるようにするには、ローカルと年齢の間に少なくとも1つの空白文字(通常はスペース)が必要です。一方、次のステートメントでは-

fruit = apples + oranges   --get the total fruit

フルーツと=の間、または=とリンゴの間には空白文字は必要ありませんが、読みやすくするために空白文字を自由に含めることができます。