[ÂÎÏÐÎÑ] Âîïðîñ ïî ïîâåäåíèþ êîäà. - Ôîðóì HeroesWorld-à

Áûñòðàÿ íàâèãàöèÿ ïî îñíîâíûì ðàçäåëàì ôîðóìà:
Òóðíèðû
ÊÀÐÒÛ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Ãåðîè Ìå÷à è Ìàãèè 5 - Êàðòîñòðîèòåëüñòâî (Ðåäàêòîð êàðò)  ýòîì ðàçäåëå ìîæíî îáñóæäàòü âñå ÷òî êàñàåòñÿ ðåäàêòîðà êàðò äëÿ Heroes of Might and Magic V. Òàê æå çäåñü îáñóæäàåì êàðòîñòðîèòåëüñòâî.

Îòâåò
 
Îïöèè òåìû
#1
Ñòàðûé 07.04.2023, 22:31
  #1
^
Robb
📖
Ðåãèñòðàöèÿ: 15.07.2022
Ñîîáùåíèÿ: 1
Ðåãèñòðàöèÿ: 15.07.2022
Ñîîáùåíèÿ: 1
Ïî óìîë÷àíèþ
[ÂÎÏÐÎÑ] Âîïðîñ ïî ïîâåäåíèþ êîäà.

function get_x()
  return 42
end

function test_1()
  local x = get_x()
  return x
end

function test_2()
  return get_x()
end

x1 = test_1()
x2 = test_2()

print(x1, " ", x2) -- 42 nil

Это баг или фича, или я чего-то не понимаю?
Robb âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#2
Ñòàðûé 08.04.2023, 00:31
  #2
^
Äîëãèé
 
Àâàòàð äëÿ Äîëãèé
📖
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 97
Ðåãèñòðàöèÿ: 23.04.2019
Ñîîáùåíèÿ: 97
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Âîïðîñ ïî ïîâåäåíèþ êîäà.

RobbЭто баг или фича, или я чего-то не понимаю?

Скорее баг, ибо онлайн lua компиляторы выдают "42 42"
Äîëãèé âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
#3
Ñòàðûé 16.04.2023, 02:48
  #3
^
Gerter
 
Àâàòàð äëÿ Gerter
📖
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ðåãèñòðàöèÿ: 16.07.2012
Àäðåñ: Ñàíêò-Ïåòåðáóðã
Ñîîáùåíèÿ: 830
pegn0ly#9113
Âûñòàâêà íàãðàä
Ïî óìîë÷àíèþ
Re: [ÂÎÏÐÎÑ] Âîïðîñ ïî ïîâåäåíèþ êîäà.

если вопрос еще актуален, то это проблема в поведении конкретно скриптов игры. Возвращение нелокальной для функции переменной всегда будет давать nil.
__________________
Íåò âîéíå.
Íåò âîéíå.
Gerter âíå ôîðóìà
Îòâåòèòü ñ öèòèðîâàíèåì
Îòâåò


Îïöèè òåìû



×àñîâîé ïîÿñ GMT +4, âðåìÿ: 21:13.


vBulletin v3.5.0, Copyright ©2000-2024, Jelsoft Enterprises Ltd. (Ðóññêèé)

ßíäåêñ öèòèðîâàíèå    Top.Mail.Ru