首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Gforth中执行不定循环时出错

在Gforth中执行不定循环时出错
EN

Stack Overflow用户
提问于 2018-02-27 20:06:35
回答 1查看 124关注 0票数 1

代表输入的正确样式是什么,如下面的Gforth中的输入?

代码语言:javascript
复制
while (2 > 1) {1 + 1}

根据我目前从网上资源中了解到的情况,应该是:

代码语言:javascript
复制
: loop begin 2 @ 1 > while 1 1 + repeat

然而,当我试着用G佛斯解释这一点时,我会得到一个错误:

代码语言:javascript
复制
 expected dest, do-dest or scope
 : >>>loop<<< begin 2 @ 1 > while 1 1 + repeat
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-01 07:03:00

您发布的代码有四个问题:

  • 您可以将loop重新定义为其他东西。也许最好给它点别的名字。
  • 我没有看到结束冒号定义的;
  • 您将@与非地址的内容一起使用。放下@就行了。2 1 >将返回true。
  • 1 1 +将结果推送到堆栈,但不使用它。因此,堆栈将溢出。

我建议如下:

代码语言:javascript
复制
: infinite   begin 2 1 > while 1 1 + drop repeat ;

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49017087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档