如何在lua中创建像string.gsub(...)
这样的方法?
我希望我的函数可以更改我将它们传递给函数的参数。
我知道字符串和数字类型变量在函数中按名称(CALL BY VALUE)传递,
但我不知道gsub如何更改(直接在字符串类型变量中应用)当我们尝试使用s:gsub(...)
s
变量并受gsub(...)
方法影响时!
我想创建一个方法Inc(...)
当我使用它时ex:Inc()
ex(number var)
增加1 !!!
帮我实现这个...我想要ex变量(例如:ex = 1)是数字(不是表格)
ex = 1
ex:Inc()
print(ex) -- ex == 2
谢谢。
答案 0 :(得分:1)
s:gsub(...)
不会影响s
,除非您执行s=s:gsub(...)
。试试这个:
s="hello"
print(s:gsub("[aeio]","-"))
print(s)
在Lua中,所有参数都按值传递。无法从函数中更改变量的值。 (您可以更改表的内容,但不能更改表本身。)