Luaのデータ型とデータ型を調べる方法

目次

Luaのデータ型

Luaには8つのデータ型があります。

説明
nil(ニル) 値なし
他の言語でのnullに相当。グローバル変数にnilを代入すると、その変数はメモリから削除されます。
boolean 真偽値(trueまたはfalse)
Luaではnilとfalseのみが偽。0や空文字列は真として扱われます。
number 数値
整数・浮動小数点を区別せず1つの型(Lua5.3以降は内部的にintegerとfloatに分離)。
string 文字列
文字列は不変(イミュータブル)です。一度作成した文字列の一部だけを書き換えることはできず、変更する場合は新しい文字列を作成します。
table 配列・連想配列
配列・辞書・オブジェクトすべてをこれで表現します。
function 関数
第一級オブジェクトとして扱えます。
userdata C言語用データ
ライブラリ開発などで使用。
thread コルーチン
並列処理のような仕組みに使用。

nil(ニル)

local x = nil

boolean

local flag = true

number

local n = 42
local f = 3.14
local h = 0xFF   -- 16進数

string

local s = "hello"
local s2 = 'world'
local s3 = [[複数行
文字列]]

シングル・ダブルクォートどちらも使用可。

table

local arr = {10, 20, 30}         -- 配列(インデックスは1始まり)
local dict = {name="Lua", ver=5} -- 辞書

function

local add = function(a, b) return a + b end

userdata

type(obj)  -- userdata

thread

local co = coroutine.create(function()
    coroutine.yield()
end)

データ型を調べる

type()でデータ型を確認できます。

print(type(10))        -- number
print(type("abc"))     -- string
print(type({}))        -- table

関連の記事

Lua 配列(テーブル型)のサンプル
第一級オブジェクト

△上に戻る