UNLOOP: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 28: Строка 28:
  связанной do-loop конструкции. UNLOOP как функция был назван UNDO. UNLOOP более  
  связанной do-loop конструкции. UNLOOP как функция был назван UNDO. UNLOOP более  
  выражает действие: ничто не отменяется - мы просто прекращаем делать это.
  выражает действие: ничто не отменяется - мы просто прекращаем делать это.
== Замечание ==
Хотя в стандарте ANS Forth это явно не указано, после слова UNLOOP должно быть исполнено слово [[EXIT]].  Конечно, между ними могут быть выполнены и другие действия. Но если [[EXIT]] не будет выполнен до конца цикла, ситуация станет неопределённой.





Версия от 01:50, 8 сентября 2015

UNLOOP — стандартное слово Каллисто.

Обеспечивает досрочный выход из цикла FORNEXT.


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 не будет выполнен до конца цикла, ситуация станет неопределённой.


Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.