7

Gforthで while() ループを書きたいと思います。残念ながら、オンラインの唯一のチュートリアルは、例が不足しているため役に立たず、カウントされたループの例 (私が探していないもの) は根本的に異なっているように見えます。

このようなものを表す方法の具体例は何ですか?

while (x > 3) { print(x); x--; }

または、実際には、次の形式の何かを表す具体的な方法にすぎません。

while (predicate) { expression(s) }
4

1 に答える 1

10

最初のコードは次のように変換されます。

\ Assuming x is on the top of the stack.
begin dup 3 > while dup . 1- repeat

\ Or if x is in memory.
begin x @ 3 > while x ? -1 x +! repeat

そして2番目:

begin predicate while expressions repeat
于 2015-03-05T16:05:44.117 に答える