我该如何在Forth中获取当前堆栈中元素的数量?
我问这个问题是因为我想制作一个函数来打印出堆栈中的所有元素,例如:
: pop_all 0 do . loop ;
1 5 10 4 5
5 pop_all
但现在当我调用它时,需要手动指定堆栈大小。
您总是可以通过函数DEPTH
找到堆栈上的项目数。返回的值是在返回数字之前堆栈上的项目数。
.S
的命令,它可以完全满足您想要编写的功能。.s
显示堆栈内容,而 depth
将堆栈长度放在堆栈顶部。 - Alexandre Dumont