Насколько всё плохо будет, если, вызвав определённую функцию (func 'Проверка'), я, минуя возврат из этой функции, сразу перескочу на нужную мне локацию?
#Начало
*NL 'Результат'+func('Проверка',0)
*NL 'Результат'+func('Проверка',1)
-
#Проверка
Result=0
if ARGS[0]=1: GT 'Конец'
Result=1
-
#Конец
*NL 'Конец'
-Останутся ли "хвосты" в виде выделенных ARGS или типа того? (кстати, это будет как называться? "memory leaks"?)
Вопрос практический. С теориями и рассуждениями в стиле "GOTO — зло" — сюда: Великий и могучий Гоуту Неубиваемый.
Неактивен
Такие варианты предусмотрены - никаких мемликов не будет.
Минусы здесь только в ухудшении понимания работы и, возможно, усложнение отладки ![]()
Неактивен
HzD_Byte написал:
Такие варианты предусмотрены - никаких мемликов не будет.
Минусы здесь только в ухудшении понимания работы и, возможно, усложнение отладки
А в какой момент, например, накопленные ARGS сбрасываются? Если подобный трюк используется снова и снова в процессе игры?
Неактивен
Они при сворачивании стека вызовов сбросятся
Технически, ничего страшного, если это будет использоваться часто - всё очистится.
Неактивен