【问题标题】:Lua: attempt to perform arithmetic on a string valueLua:尝试对字符串值执行算术运算
【发布时间】:2014-02-17 04:48:35
【问题描述】:

我正在尝试将字符串添加到 lua 中的返回值:

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

print(func("ABC"))

我收到一个错误:

“尝试对本地'str'(字符串值)执行算术”

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

@user_script:1: user_script:1: 尝试对字符串值进行算术运算

我尝试使用 tosring(str)+"_something" 但没有帮助...

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

【问题讨论】:

  • getmetatable''.__add = function(a,b)return a..b end
  • @EgorSkriptunoff,如果字符串包含数字,这将不起作用:"1"+"2" 是数字 3,而不是字符串 "12"
  • @lhf - 行动!忘记了这个奇怪的功能。从字符串到其他数据类型的自动强制转换是相当不自然的。

标签: string lua string-concatenation


【解决方案1】:

参见this link 中的“串联”: http://lua-users.org/wiki/StringsTutorial

解决方法是使用..,例如:

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

print(func("HELLO"))

应该返回:

你好世界

【讨论】:

  • 所以你自己做了。荣誉
猜你喜欢
  • 2017-04-06
  • 2020-08-22
  • 1970-01-01
  • 2020-04-17
  • 2017-01-10
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
相关资源
最近更新 更多