ее-позиция КУРСОР @ SWAP -
для получения расстояния между ними. Стековая картинка слова будет:
( -- расстояние-до-предыдущего-вк/пс )
Но при последующем кодировании мы обнаруживаем, что аналогичное слово нужно для вычисления расстояния от произвольного символа - `не` от текущей позиции курсора. Мы останавливаемся на том, что вычленяем "КУРСОР @" и передаем начальный адрес через стек в качестве аргумента, получая:
( начальное-положение -- расстояние-до-предыдущего-вк/пс )
Выделив ссылку на переменную мы сделали определение более полезным.
------------------------------------------------------------ СОВЕТ За исключением случаев, когда манипуляции со стеком достигают уровня нечитабельности, пытайтесь передавать аргументы через стек вместо того, чтобы брать их из переменных. ------------------------------------------------------------
----------------------------------------------------------------
Кожж:
Большая часть модульности Форта происходит от проектирования и понимания слов Форта как "функций" в - 216 -
математическом смысле. Мой опыт показывает, что Форт-программист обычно старается избегать определения любых, кроме наиболее существенных глобальных переменных (у меня есть друг, у которого над столом висит надпись "Помоги убрать переменные"), и пытается писать слова со свойством так называемой "ссылочной переносимости", т.е. при одних и тех же данных на стеке слово всегда дает одинаковый ответ независимо от более общего контекста, в котором оно исполняется.