编程语言Lua中的整数

时间:2014-04-20 16:13:20

标签: lua numbers concatenation lua-table

我想通过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

如何修复此错误?

1 个答案:

答案 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), ', ' ) )