对字符串变量的Lua算术

时间:2014-09-26 12:46:17

标签: lua

我这里有一小段代码;

for i=1,1000 do
    n=math.floor(math.sin(i/10.0)*40)
    s=''
    for j=1,n do s=s+'-' end
    print(s)
end

但它在第2行给出了一个错误:“尝试对全局'进行算术'(字符串值)”我不知道为什么会这样做,这让我很生气。

2 个答案:

答案 0 :(得分:3)

与其他语言不同,Lua使用..来连接字符串,而不是+,更改

s = s + '-' 

s = s .. '-' 

答案 1 :(得分:1)

不建议使用字符串连接循环,因为它会导致二次复制(对于小字符串而言不重要)。请改为string.rep

for i=1,1000 do
    n=math.floor(math.sin(i/10.0)*40)
    print(string.rep('-',n))
end