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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 5: Строка 5:


== Детали реализации ==
== Детали реализации ==
Слово PICK дублирует n-й элемент стека (считая от нуля), так что 0 PICK равносильно [[↑ (Каллисто)|↑]], а 1 PICK равносильно [[OVER]].
Верхний элемент стека имеет номер нуль, так что 0 PICK равносильно [[↑ (Каллисто)|↑]], а 1 PICK равносильно [[OVER]].


== PICK в стандарте ANS Forth ==
== PICK в стандарте ANS Forth ==

Версия от 04:35, 28 октября 2015

PICK (взять) — стандартное слово Каллисто. Продублировать n-ное сверху значение.

PICK           ( xn ... x1 x0 n -- xn ... x1 x0 xn )

Удаляет n. Копирует элемент стека с номером n (считая от нуля, само число n при этом не считается) и записывает его наверх стека.

Детали реализации

Верхний элемент стека имеет номер нуль, так что 0 PICK равносильно , а 1 PICK равносильно OVER.

PICK в стандарте ANS Forth

6.2.2030   PICK                                                        CORE EXT
           ( xu ... x1 x0 u -- xu ... x1 x0 xu )
           Удаляет u. Копирует xu на вершину стека. Неопределенная ситуация 
           существует, если до выполнения PICK на стеке меньше u+2 элементов.
A.6.2.2030   PICK
0 PICK эквивалентно DUP, и 1 PICK эквивалентно OVER.


PICK в предыдущем стандарте Forth-83 (англ.)

     PICK         +n -- 16b                     83
          16b is a copy of the +nth stack value, not counting +n
          itself.  {0..the number of elements on stack-1}
                  0 PICK is equivalent to DUP
                  1 PICK is equivalent to OVER


PICK в стандарте Forth-79 (англ.)

PICK           n1 -- n2                      240
    Return the contents of the n1-th stack value,  not counting n1
    itself.  An error condition results for n less than one.
         2 PICK  is equivalent to OVER.  {1..n}


История

В Форте-83 действие слова PICK подверглось кардинальному изменению.

В Каллисто слово PICK совместимо с версией Форта-83 и последующими. В программах, написанных для Форта-79 и более ранних версий, слово PICK надо заменять на последовательность 1− PICK

Ссылки


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


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