Способ мышления-Форт


         

и открой футляр. Вынь дар


Сорви обертку и открой футляр. Вынь дар и выброси его.
В этой фразе конфуз возник оттого, что мы использовали "его" для ссылки одновременно на много вещей. Есть два решения по преодолению этой ошибки. Простейшее - это использование реального имени вместо "него":
Сорви обертку и открой футляр. Вынь дар и выброси `футляр`.
Или мы можем ввести слова "первый" и "последний". Однако лучшим решением было бы перепроектирование фразы:
Сорви обертку и открой подарок. Отбрось футляр.
Так и в Форте мы имеем те же наблюдения:
------------------------------------------------------------ СОВЕТ Упрощайте код за счет использования стека. Однако не уходите в стек слишком глубоко внутри отдельно взятого определения. Измените планировку, или, как к последней инстанции, обратитесь к именованной переменной. ------------------------------------------------------------
Некоторые новички в Форте смотрят на стек так же, как гимнаст глядит на трамплин: как на отличное место для того, чтобы на нем скакать. Однако стек предназначен для передачи данных, а не для акробатики. Так насколько глубоко это "слишком глубоко"? В общем случае три элемента на стеке - это максимум того, чем Вы можете - 205 -
управлять внутри одного определения. (Для арифметики двойной точности каждый "элемент" занимает две позиции в стеке, но они логично воспринимаются за один элемент такими операторами, как 2DUP, 2OVER и т.д.) В обычном лексиконе стековых операторов ROT - единственный, который дает доступ к третьему элементу на стеке. Кроме слов PICK и ROLL (которые мы позже прокомментируем), нет легкого способа добраться до того, что лежит ниже. Для продолжения наших аналогий можно предположить, что три элемента в стеке соответствуют трем русским (английским) местоимениям - "это" ("this"), "то" ("that") и "се" ("th'other").
ПЕРЕПРОЕКТИРОВАНИЕ.
Давайте вообразим ситуацию, когда неверно выбранный подход ведет к проблеме беспорядка на стеке.

Содержание  Назад  Вперед