-- テーブルに実際に存在する要素数(=num of elements)
-- 「#」や「table.getn」「table.maxn」ではテーブルの要素数は調べられないので必要となる。
function table.elemn(tbl)
local n = 0
for _ in pairs (tbl) do
n = n + 1
end
return n
end
-- 対象のテーブルの各要素に対して、func(key, value)を実行し、関数実行結果を格納する。
-- 元のテーブルの値は変化せず、新たなテーブルが返される。
function table.map(tbl, func)
local ret_tbl = {}
for k, v in pairs (tbl) do
ret_tbl[k] = func (k, v)
end
return ret_tbl
end