无法在Gforth中执行无限循环

时间:2018-02-27 20:06:36

标签: loops forth gforth

在Gforth中表示输入的正确样式是什么?

newentry.Properties("userAccountControl").Value = &H1020

根据我目前对在线资源的理解,它应该是:

while (2 > 1) {1 + 1}

然而,当我尝试用Gforth解释这个时,我得到一个错误:

: loop begin 2 @ 1 > while 1 1 + repeat

1 个答案:

答案 0 :(得分:3)

您发布的代码存在四个问题:

  • 您将loop重新定义为其他内容。也许最好把它命名为别的。
  • 我没有看到;来结束冒号定义。
  • 您将@用于不是地址的内容。只需删除@即可。 2 1 >将返回true。
  • 1 1 +将结果推送到堆栈,但您不会使用它。因此堆栈会溢出。

我会建议:

: infinite   begin 2 1 > while 1 1 + drop repeat ;

这几乎正是ruvim在评论中发布的内容。