我有一个数组:
{ 1 2 3 4 }
我想将其内容推送到堆栈中。
我试过:
(sc) { 1 2 3 4 } dup length firstn
1
2
3
4
伟大的!
不过一句话:
: explode ( a -- * ) dup length firstn ; inline
抛出错误Cannot apply “firstn” to a run-time computed value
,因为firstn
调用call
和
调用输入参数的单词必须声明为内联,以便传入文字引号的调用者可以具有静态堆栈效果。
...并且由于call
' 语义,很难在运行时计算报价。
必须有办法做到这一点。它是什么?