変数を画面上に出力したい場合,どのようにしたらよいでしょうか.
例として,int型のhogeという箱に10という値を代入して,その箱の中身を画面上に表示
させてみます.
hoge = 10
print(hoge)
このプログラムを実行すると,次のように画面上に表示されると思います.
実行結果
10
複数の値を表示させることもできます.
hoge = 10
piyo = 20
print(hoge, piyo)
このようにカンマ区切りで複数の値が表示できます.
実行結果
10 20
また文字と数値なども一緒に表示させることができます.
文字列と数値,または文字列と文字列を結合して表示させる場合,
連結演算子 .. を使います.
hoge = 10
print("hogeの値は" .. hoge .. "です")
実行結果
hogeの値は10です
LuaにはC言語のprintf関数と似たものが存在します.
それが string.format() 関数です.
この関数は文字列の書式を指定して画面に表示します.
書式指定子一覧は以下の表の通りです.
書式指定子
| 記号
| 意味
|
| %d
| 整数の10進法として出力
|
| %u
| 符号なし整数の10進法として出力
|
| %o
| 整数の8進法として出力
|
| %x
| 整数の16進法として出力
|
| %f
| 小数点表示
|
| %c
| 1文字出力
|
| %%
| %を出力
|
string.format関数を使って数値を表示させてみましょう.
hoge = 10
print( string.format( "hogeの10進数の値は%dです" ,hoge) )
print( "hogeの16進数の値は" ..
string.format("%x",hoge) .. "です")
実行結果
hogeの10進数の値は10です
hogeの16進数の値はaです
他にもいろいろ試して見ましょう.
hoge = 10
piyo = 20
foo = 30.256
print( string.format("hogeの値は%dです",hoge) )
print( string.format("piyoの値は%dです",piyo) )
print( string.format("値は%dです", 50) )
print( string.format("hogeは%d piyoは%dです",hoge,piyo) )
print( string.format("fooの値は%fです",foo) )
print( string.format("hogeの値は%f です",hoge) )
print( string.format("fooの値は%dです",foo) )
実行結果
hogeの値は10です
piyoの値は20です
値は50です
hogeは10 piyoは20です
fooの値は30.256000です
hogeの値は10.000000 です
fooの値は30です