Luaの変数
Luaで値を保存し、計算、型の確認、キーボード入力を行う方法を学ぶ。
変数を作成する
Luaの変数には明示的な型宣言が不要である。
hoge = 10
foo, bar = 10, 20
代入は任意の場所で行える。local を指定しない変数はグローバル変数になる。
変数名は英字または _ で始める。2文字目以降には数字も使えるが、if、while、function などの予約語は使えない。
代入には =、等価比較には == を使う。
値を表示する
1つまたは複数の値を表示するには print() を使う。
hoge = 10
piyo = 20
print(hoge, piyo)
文字列の連結には ..、書式付き出力には string.format() を使う。
hoge = 10
print(string.format("hogeの10進数表記は%dです", hoge))
print("hogeの16進数表記は" .. string.format("%x", hoge) .. "です")
代表的な書式指定子には %d、%u、%o、%x、%f、%c、%% がある。
算術演算
Luaは一般的な算術演算子を利用できる。
| 演算子 | 意味 |
|---|---|
+ |
加算 |
- |
減算 |
* |
乗算 |
/ |
除算 |
% |
剰余 |
^ |
べき乗 |
x = 10
y = 3
print(x + y)
print(x % y)
print(2 ^ 3)
動的な型
Luaでは値が型を持ち、変数は実行中に異なる型の値を参照できる。
| 型 | 意味 |
|---|---|
nil |
値がない |
boolean |
true または false |
number |
数値 |
string |
文字列 |
function |
関数 |
userdata |
ユーザー定義データ |
thread |
コルーチンスレッド |
table |
テーブル |
値の型は type() で確認する。
hoge = nil
print(type(hoge))
hoge = "Hello"
print(type(hoge))
hoge = 33
print(type(hoge))
キーボード入力
入力には io.read()、自動改行なしのプロンプト表示には io.write() を使う。
io.write("メートル値を入力してください: ")
meter = io.read()
answer = meter * 3.2
print(meter .. "メートルは" .. answer .. "フィートです。")
Luaでは多重代入も利用できるため、値の交換を簡潔に書ける。
hoge, piyo = 10, 5
hoge, piyo = piyo, hoge
print(hoge, piyo)