如何在 Forth 中退出 BEGIN 循环?

问题描述 投票:0回答:1

在许多语言中都有 BREAK 语句,它允许您逃避迭代循环。

我找不到一个词来逃避 Forth 中的 BEGIN-AGAIN 或 BEGIN-UNTIL 循环

我想实现这段代码

def x():
     for i in range(10):
         print(i, end=' ')
         if i == 5:
             print("break", end=' ')
             break
     print("end")

产生

0 1 2 3 4 5 break end

使用 EXIT 尝试一下(gforth 0.7.3)

: x 0 begin
         dup dup .
         5 = if
             ."break" exit
        then 
        1+ 
        0
     until
     ." end" ;

但它从不打印“结束”:

x 0 1 2 3 4 5 break ok

我知道 EXIT 实际上是变相的 RETURN,因此一种替代方法是将 BEGIN-UNTIL 段放在单独的单词中,但我更喜欢将代码一起维护。

如何摆脱 BEGIN 循环?

break forth flow-control
1个回答
0
投票

您要找的词是

LEAVE

© www.soinside.com 2019 - 2024. All rights reserved.