我尝试将特殊循环变量
I
与[CHAR]
一起使用。
用这个最小的例子:
: ex ( -- )
10 0 DO
[CHAR] I EMIT
LOOP
;
我预计会打印“0123456789”,但显然-我得到“IIIIIIIII”
有没有办法在
I
执行之前将 [CHAR]
替换为其值?
[CHAR] X
是一个字符文字,由堆栈上的“X”的代码点 表示。表达式 [CHAR] X
始终在堆栈上产生相同的值。
如果你想在堆栈上打印给定数字“1”,你应该首先获得“1”的代码点。你可以这样做
1
。所以你的例子变成:
[char] 0 +