从用逗号分隔的一串数字中获取数组

时间:2012-08-31 07:50:02

标签: lua

如何将s = "6.1101,17.592,3.3245\n"之类的字符串转换为Lua中的数字。

在python中,我通常会这样做

a = s.strip().split(',')
a = [float(i) for i in a]

用Lua做这件事的正确方法是什么?

1 个答案:

答案 0 :(得分:3)

这是相当微不足道的;只是做一个重复的比赛:

for match in s:gmatch("([%d%.%+%-]+),?") do
  output[#output + 1] = tonumber(match)
end

这当然假设数字中没有空格。