Получить текущий размер стека в FORTH

Как я могу получить количество элементов, которые в настоящее время хранятся в стеке в Forth?

Я спрашиваю об этом, потому что я хочу сделать функцию, которая печатает все элементы стека, что-то вроде:

: pop_all 0 do . loop ;
1 5 10 4 5
5 pop_all

Но теперь мне нужно вручную указать размер стека при его вызове.

2 ответа

Решение

Вы всегда можете найти количество предметов в стеке с помощью функции DEPTH, Возвращаемое значение - это количество элементов в стеке до того, как число будет возвращено.

Большинство систем FORTH имеют .S Команда, которая делает именно то, что вы хотите написать.

Другие вопросы по тегам