Вложенные вызовы подпрограмм

Вложенные вызовы подпрограмм

Как обстоит ситуация с вложенными аргументами, передаваемыми по gs? Допустим, есть первая локация, из неё мы вызываем вторую, передавая в неё аргументы, из второй так же вызываем третью, тоже с аргументами, что в таком случае находится в ARGS? Для каждой локации свои, переданные ей, аргументы, или при переходе в третью локацию массив args перезаписывается, и в случае возвращения во вторую его уже нельзя будет использовать?

WladySpb
Planes Walker
useravatar
Offline
80 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

В массиве ARGS хранятся аргументы только для данного вызова. При "возврате" массив ARGS восстанавливает те значения, которые были до вызова GS.

Пример, иллюстрирующий это поведение: argsgs.qsp

Nex
useravatar
Offline
4283 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

WladySpb написал(а):

Как обстоит ситуация с вложенными аргументами, передаваемыми по gs? Допустим, есть первая локация, из неё мы вызываем вторую, передавая в неё аргументы, из второй так же вызываем третью, тоже с аргументами, что в таком случае находится в ARGS? Для каждой локации свои, переданные ей, аргументы, или при переходе в третью локацию массив args перезаписывается, и в случае возвращения во вторую его уже нельзя будет использовать?

Nex написал(а):

В массиве ARGS хранятся аргументы только для данного вызова. При "возврате" массив ARGS восстанавливает те значения, которые были до вызова GS.

Отсюда вопрос: есть ли ограничение на количество таким образом вложенных подпрограмм? вторая вызывается из первой, третья из второй... n-ная из n-1-ой. Есть это n?
Сложно представить, что кто-то использует больше десяти вложений, но вдруг.

Aleks Versus
воздвигатель башни
useravatar
Онлайн
1359 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

Явного ограничения нет.

Byte
useravatar
Offline
587 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

Byte написал(а):

Явного ограничения нет.

Значит могут быть неявные ограничения. big_smile Одно я уже видел, когда зациклил несколько локаций друг на друга. Интересно было бы посмотреть на другие. Надеюсь, кто столкнётся - отпишется.

Aleks Versus
воздвигатель башни
useravatar
Онлайн
1359 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

Aleks Versus написал(а):

Byte написал(а):

Явного ограничения нет.

Значит могут быть неявные ограничения. big_smile Одно я уже видел, когда зациклил несколько локаций друг на друга. Интересно было бы посмотреть на другие. Надеюсь, кто столкнётся - отпишется.

Я использую у себя всякие сочетания вложенных вызовов локаций друг из друга — проблем на уровне платформы не встречал.

Olegus t.Gl.
useravatar
Offline
137 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Вложенные вызовы подпрограмм

Выделил оффтоп в отдельную тему.

Nex
useravatar
Offline
4283 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
999
Всего опросов:
14
Всего сообщений:
16790324
Всего сообщений сегодня:
7
Пользователи форума:
 
Всего пользователей:
2176
Последним зарегистрировался:
Последний из Гаяр