Gforth conditional expression with variables - onl

2019-05-31 17:19发布

问题:

Simple expression:

variable x  ok
4 x !  ok
3 x < . -1  ok
3 x > . 0  ok

This seems normal and correct, however:

variable x  ok
3 x !  ok
x 4 < . 0  ok
x 4 > . -1  ok

The second block of code is wrong. What is evaluating wrongly? What is the problem here?

回答1:

variable x makes a new variable, but x returns the address, not the value.

You need something like this:

variable x
3 x !  ok
x @ 4 < .
x @ 4 > .


标签: forth gforth