Сделать метод lua, который может напрямую изменять аргументы
Как создать метод, как string.gsub(...)
в Луа?
Я хочу, чтобы моя функция могла изменить аргументы, которые я передаю в функцию.
Я знаю, что строковые и числовые переменные типа передаются по имени ( CALL BY VALUE) в функциях,
но я не знаю, как gsub может измениться (применить непосредственно в строковой переменной типа), когда мы пытаемся использовать его как s:gsub(...)
s
изменение переменной и зависит от gsub(...)
метод!
Я хочу создать метод Inc(...)
что когда я использую это как ex:Inc()
бывший (число вар) Увеличение на 1!!!
Помогите мне реализовать это... Я хочу, чтобы переменная ex (пример: ex = 1) была числовой (не таблица)
ex = 1
ex:Inc()
print(ex) -- ex == 2
Спасибо.
1 ответ
s:gsub(...)
не влияет s
кроме случаев, когда вы делаете s=s:gsub(...)
, Попробуй это:
s="hello"
print(s:gsub("[aeio]","-"))
print(s)
В Lua все аргументы передаются по значению. Нет способа изменить значение переменной внутри функции. (Вы можете изменить содержимое таблицы, но не саму таблицу.)