我想通过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 票数:3 已采纳

您不能,因为Lua中没有开箱即用的表转换功能,因此您必须创建一个具有转换后的值和concat的新表:

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

  ask by user3499641 translate from so

未解决问题?本站智能推荐:

9回复

Lua中表的连接

原始邮政 鉴于Lua中没有内置函数,我正在寻找一个允许我将表附加在一起的函数。 我搜索了很多,并尝试了我偶然发现的所有解决方案,但似乎都没有正常工作。 场景是这样的:我在应用程序中使用Lua。 应用程序的内部命令以表格的形式返回值列表。 我想要做的是在循环中递归调用该命令,
3回复

Lua table.concat

有没有办法使用table.concat的arg 2值来表示当前的表索引? 例如: 表concat(X)的所需输出:
1回复

关于Lua编程的第108页,对Lua元表感到困惑

我正在学习Lua,使用的是《 Lua编程》第一版 。 我在理解元表时遇到了麻烦。 这是出现在第108页的代码和说明: 为了帮助检查示例,我们还定义了一个打印集的函数: 现在,我们要使加法运算符( + )计算两个集合的并集。 为此,我们将安排所有代表集合的表共享
2回复

通过整数键从C获取lua表条目

我目前正在使用以下代码从表中获取值(cstring = const char *): 这非常适合表格table = {a=10, b=2}的表格。 如何修改它以从没有键的表中获取值,例如table = {10, 2} ? 我确定我缺少一些简单的东西,但似乎找不到答案。 预先
6回复

如何在Lua中获取表中的最高整数?

如何在Lua中获取表中的最高整数?
2回复

试图在Lua中实现面向对象的编程,但效果不佳

好的,所以我尝试遵循此处的指示信息: https : //www.lua.org/pil/16.1.html进行类似于Lua(和LOVE游戏框架)中的OO编程的操作,但是它不起作用。 这是我的代码的核心。 我有一个通用的Object类: 以及从中继承的Ship类: 现在的问题
1回复

Lua中的链接列表

我最近一直在Lua中查找链接列表,并且有一个快速的问题,到目前为止我还没有找到答案。 最终将打印出“ a,b,c,d”。 我知道为什么它会向后打印,因为第一个可用的“节点”将是最终创建的(值= a)。 我的问题是,为什么在最后一个之前创建的“头部”仍然存在,而不是在内存中被简单地覆盖
2回复

Lua中的功能,表和

现在我正在做一些测试,但是我似乎找不到该代码出了什么问题-知道吗? 我正在做的是获取2个整数和1个数组。 我必须在控制台中编写代码以检查程序的实际运行位置,并且得到的是... 第一条日志消息: "The table the script received has: " 第二
1回复

Lua中的记录类型

我在Lua上还很新,但是我想要记录类型。 在Lua中定义记录的最简单方法是什么? 我需要一些其他数组。 就像是: 然后能够读取字段,字段的数量未知。 我尝试了几种方法,但它们相当复杂或无法正常工作。
2回复

Lua中的Python eval()

我有以下Lua代码: 此代码返回错误。 我想让它像输入一样工作: 在python中,我将处理以下情况: 我可以在Lua中使用类似或不同的方法吗?