2014-09-26 75 views
1

我在這裏有這個小代碼片段;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行錯誤:「嘗試在全球的'(一個字符串值)執行算術」我不知道爲什麼它這樣做,它的駕駛我瘋了。

+1

使用'string.rep'來代替inner。 – lhf 2014-09-26 12:57:56

回答

3

不像一些其他語言,Lua使用..來連接字符串,而不是+,改變

s = s + '-' 

s = s .. '-' 
1

字符串連接的環路不建議,因爲它會導致二次副本(對於小字符串不重要)。改爲嘗試string.rep

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