我想通过table.concat
number = { 100.5, 0.90, 500.10 };
print( table.concat( number, ', ' ) )
-- output 100.5, 0.9, 500.1
number = { 100.5, 0.90, 500.10 };
print( table.concat( math.floor( number ), ', ' ) )
-- output 100
如何修复此错误?
答案 0 :(得分:3)
你不能因为Lua中没有开箱即用的表转换功能,你必须创建一个包含转换值的新表并连接:
number = { 100.5, 0.90, 500.10 };
intT ={}
for i, v in ipairs(number) do
table.insert(intT, math.ceil(v))
end
print( table.concat( intT, ', ' ) )
如果你有很多这样的变换,很容易创建这样的变换器:
function map(f, t)
local newT ={}
for i, v in ipairs(t) do
table.insert(newT, f(v))
end
return newT
end
print( table.concat( map(math.ceil, number), ', ' ) )