代表输入的正确样式是什么,如下面的Gforth中的输入?
while (2 > 1) {1 + 1}根据我目前从网上资源中了解到的情况,应该是:
: loop begin 2 @ 1 > while 1 1 + repeat然而,当我试着用G佛斯解释这一点时,我会得到一个错误:
expected dest, do-dest or scope
: >>>loop<<< begin 2 @ 1 > while 1 1 + repeat发布于 2018-03-01 07:03:00
您发布的代码有四个问题:
loop重新定义为其他东西。也许最好给它点别的名字。;。@与非地址的内容一起使用。放下@就行了。2 1 >将返回true。1 1 +将结果推送到堆栈,但不使用它。因此,堆栈将溢出。我建议如下:
: infinite begin 2 1 > while 1 1 + drop repeat ;这几乎就是ruvim在评论中发布的内容。
https://stackoverflow.com/questions/49017087
复制相似问题