的Lua:试图在一个字符串值进行算术

问题描述:

我想一个字符串在Lua添加到返回的值:的Lua:试图在一个字符串值进行算术

local function func(str) 
    return (str+"_something") 
end 

print(func("ABC")) 

,我得到一个错误:

"attempt to perform arithmetic on local 'str' (a string value)"

或者这个错误(在我原来的程序):

@user_script:1: user_script:1: attempt to perform arithmetic on a string value

我试图用tosring(STR)+ “_东西”,但没有帮助...

那么如何在Lua中串联一个字符串?

+3

'getmetatable '' .__ add = function(a,b)return a..b end' –

+1

@EgorSkriptunoff,如果字符串包含数字,则不起作用:'“ 1“+”2“'是数字'3',而不是字符串'”12“'。 – lhf

+0

@lhf - Ops!忘了这个奇怪的功能。从字符串自动强制转换为其他数据类型相当不自然。 –

看到 “串联” 在this linkhttp://lua-users.org/wiki/StringsTutorial

的解决方案是使用..,如示例:

local function func(str) 
    return (str.." WORLD") 
end 

print(func("HELLO")) 

多数民众赞成应该返回:

HELLO WORLD

+1

所以你自己做了。荣誉 –