明日への断片

ゲーム制作やプログラミング関する記事を中心に更新していこうと思います。

45欠片目:Lua言語を学ぶ~基礎編~

 こんにちは。3月も残り1週間をきったということで、不安と焦りと儚さを覚えるvoidです。時の流れが速すぎます。

本日はLua続編です。
昨日と同じタイトルに見えますが、昨日は超基礎編、本日は基礎編でございます。

テーブルの基本

 Luaはテーブルというものが標準で使えるようになっていて、テーブルは連想配列として使うことが出来ます。

連想配列とは、あるデータをキーと呼ばれる別のデータと紐づけたペアで表され、そのキーからデータにアクセスするといった仕組みです。

連想配列のメリットとしては、データに高速でアクセスできるという点です。


Luaでの実装

table = {}

-- Luaのコメントは行頭に-(ハイフン)2つで書けます

このように書くと、table変数にテーブルが作成されます。
まだ、中身は空っぽの状態です。

ここに、キーと値を入れていきます。
キーには文字列または数字を使用します。

table = {}
-- キーに文字列を使用した場合
table["one"] = "ichi"
table["two"] = "ni"
table["three"] = "san"
table = {}
-- キーに数字を使用した場合
table[1] = "ichi"
table[2] = "ni"
table[3] = "san"

このようにキーに数字を使用すると配列のように扱うこともできます。


表示にはprint()関数を使います。

table = {}

table["one"] = "ichi"
table["two"] = "ni"
table["three"] = "san"

print(table["one"])
実行結果:
ichi

以上がテーブルの基本です

Luaの関数の基本


 Luaの関数定義方法

function myFunc(arg)
    処理
end


-- function 関数名(引数)
-- 関数内で行う処理
-- end

C言語と大きく違う点は戻り値を複数返すことが出来る点です。

-- 2数の和と差を計算
function AddMinus(num1, num2)
    return num1 + num2, num1 - num2    -- 戻り値を複数返す場合「,(コンマ)」で区切る
end

total, difference = AddMinus(10, 5)    -- 戻り値を複数受け取る場合も「,(コンマ)」で区切る

print("total = ".. total)              -- 「..」は文字列を連結させるための演算子
print("difference = ".. difference)
実行結果:
total = 15
difference = 5

環境は無事出来ました

 C言語と似てたり全然違ったりして結構面白いです。ゲーム制作で実用出来たらもっと面白いんだろーなーと思いながら勉強してます
本日は以上です。ではまた!


明日と明後日は朝からほぼ1日バイトが入ってて、あまり時間がないのでluaの記事じゃないかもしれないです...