Простые вопросы

Статус
В этой теме нельзя размещать новые ответы.
Последнее редактирование модератором:
Вот так будет работать:
Код:
local a =1
function inc()
  a = a+1
  return a
end
a = inc()
print(a)

или так

Код:
local a =1
function inc()
  return a+1
end
a = inc()
print(a)
 
Смысл в том, что функции они как бы сами локальны и происходящие в них действия происходят только внутри них. Поэтому когда ты пытался изменить значение внешней переменной, то оно менялось только внутри функции. Чтобы повлиять на внешние значения, нужно использовать оператор return.

В общем, без return - это процедуры, которые просто внутри себя выполняют набор команд.
А с return - это уже функции (то есть что-то мутят и возвращают результат во вне).
 
Не совсем понял куда ретурн вставлять , так надо или как ?
Код:
function centaur_buff(keys)
	Say(nil,"centaur_buff works !!!" , false)
	centaur_caster=keys.caster
	centaur_ability= centaur_caster:FindAbilityByName("inherit_centaur_buff")
	centaur_const=centaur_const+1
	
end
Код:
function centaur_buff(keys)
	Say(nil,"centaur_buff works !!!" , false)
	centaur_caster=keys.caster
	centaur_ability= centaur_caster:FindAbilityByName("inherit_centaur_buff")
	centaur_const=centaur_const+1
	return cetaur_caster
	return cetaur_ability
	return cetaur_const
end
Или там список должен быть?
Код:
return cetaur_caster,cetaur_ability, cetaur_const
 
Последнее редактирование модератором:
Я думал, люди будут читать хоть какой-то минимум перед тем, как лезть в программирование, например мою статью сделанную специально для этого, но нет...


Meme-Virando-a-Mesa_800x600.jpg
 
Смысл в том, что функции они как бы сами локальны и происходящие в них действия происходят только внутри них. Поэтому когда ты пытался изменить значение внешней переменной, то оно менялось только внутри функции. Чтобы повлиять на внешние значения, нужно использовать оператор return.

В общем, без return - это процедуры, которые просто внутри себя выполняют набор команд.
А с return - это уже функции (то есть что-то мутят и возвращают результат во вне).
Что ты несешь наркоман?
 
Последнее редактирование модератором:
Причем тут return и области видимости переменных?
 
Причем тут return и области видимости переменных?
А мне то , что делать ?
Я понимаю , что там мега просто , однако не могу интегрировать код из примера в свой код (
Примеры я читал , но все равно не понятно !!!
 
Последнее редактирование модератором:
Сделай три функции для трех переменных. Либо возвращай все массивом и из него вытаскивай значения. Либо строкой и из неё вытаскивай значения. Вернуть из функции можно только один тип данных. Логика и архитектура - уже твое дело.
 
Лучше опиши что тебе нужно сделать. А переменную ты можешь кинуть на конкретную абилку или юнита.
 
Сделай три функции для трех переменных. Либо возвращай все массивом и из него вытаскивай значения. Либо строкой и из неё вытаскивай значения. Вернуть из функции можно только один тип данных. Логика и архитектура - уже твое дело.
return "only","one",3
 
Последнее редактирование модератором:
А, ну да, работает.

Ну тогда твой вариант проканает:
Код:
return cetaur_caster,cetaur_ability, cetaur_const
Код:
a,b,c = centaur_buff()
 
Илья, ретурн нужен только если сама переменная локальная внутри файла. Если она глобальная внутри файла или глобальная вообще везде, то ее можно менять соответственно внутри файла и везде
 
Как сделать крафт (из 10 предметов) через item_recipe_ ? при этом есть у предмета ItemInitialCharges 20
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: