我想保留一个引述为Factor中的元组成员。但是,当我尝试对其执行“调用”时,出现错误“无法将调用应用于运行时计算值”。请注意,将功能标记为“内联”不会执行任何操作。
样例代码:
USING: accessors kernel ;
IN: stackoverflow
TUPLE: quottuple quot ;
C: <quottuple> quottuple
: call-quot ( quottuple -- result )
quot>> call ; inline
: main ( -- )
[ 1 ] <quottuple>
call-quot drop ;
MAIN: main
最佳答案
答案是“ call(”一词。该词要求您指定引用的堆栈效果,但结果是在编译时不需要知道引用。
USING: accessors kernel ;
IN: stackoverflow
TUPLE: quottuple quot ;
C: <quottuple> quottuple
: call-quot ( quottuple -- result )
quot>> call( -- result ) ;
: main ( -- )
[ 1 ] <quottuple>
call-quot drop ;
MAIN: main