UNLOOP: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''UNLOOP''' — стандартное слово [[Каллисто]]. | '''UNLOOP''' (читается «анлуп») — стандартное слово [[Каллисто]]. | ||
Снимает со [[Стек возвратов Каллисто|стека возвратов]] служебную информацию одного цикла [[FOR]] … [[NEXT]], что позволяет использовать слово [[EXIT]] для досрочного выхода из определения. Чтобы покинуть слово изнутри несколько вложенных циклов [[FOR]] … [[NEXT]], требуется предварительно выполнить слово UNLOOP нужное число раз. | Снимает со [[Стек возвратов Каллисто|стека возвратов]] служебную информацию одного цикла [[FOR]] … [[NEXT]], что позволяет использовать слово [[EXIT]] для досрочного выхода из определения. Чтобы покинуть слово изнутри несколько вложенных циклов [[FOR]] … [[NEXT]], требуется предварительно выполнить слово UNLOOP нужное число раз. |
Версия от 02:52, 24 февраля 2016
UNLOOP (читается «анлуп») — стандартное слово Каллисто.
Снимает со стека возвратов служебную информацию одного цикла FOR … NEXT, что позволяет использовать слово EXIT для досрочного выхода из определения. Чтобы покинуть слово изнутри несколько вложенных циклов FOR … NEXT, требуется предварительно выполнить слово UNLOOP нужное число раз.
Ввод слова UNLOOP
В режиме ЛАТ последовательно нажмите белые клавиши 3 4 − 5 5 6
UNLOOP в стандарте ANS Forth
6.1.2380 UNLOOP CORE Интерпретация: Семантика интерпретации для этого слова не определена.
Выполнение: ( -- ) ( R: loop-sys -- ) Снимает параметры управления циклом для текущего уровня вложенности. UNLOOP требуется для каждого уровня вложенности прежде, чем может быть выполнено EXIT определения. Неопределенная ситуация существует если параметры управления циклом недоступны.
См.: 3.2.3.3 Стек возвратов.
A.6.1.2380 UNLOOP Типичное использование: : X ... limit first DO ... test IF ... UNLOOP EXIT THEN ... LOOP ... ;
UNLOOP позволяет использование EXIT в пределах контекста, DO ... LOOP и связанной do-loop конструкции. UNLOOP как функция был назван UNDO. UNLOOP более выражает действие: ничто не отменяется - мы просто прекращаем делать это.
Замечание
Хотя в стандарте ANS Forth это явно не указано, после слова UNLOOP должно быть исполнено слово EXIT. Конечно, между ними могут быть выполнены и другие действия. Но если EXIT не будет выполнен до конца цикла, ситуация станет неопределённой.
Ссылки
- Слово UNLOOP и комментарий к нему в стандарте ANS Forth (англ.)
- Слово UNLOOP и комментарий к нему в черновике Forth 200x (англ.)
- См. также слово LEAVE
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |