3 6 5 WITHINdava vysledok -1 (t.j. True, pretoze plati 3 < 5 < 6. To je ok. Ale preco
5 3 6 WITHINdava takisto vysledok -1 (t.j. True), ked by to malo byt 0 (t.j. False), pretoze predsa neplati 5 < 6 < 3 ?! Takze
a b x WITHINzrejme dava nieco ineho, nie len pravdivostnu hodnotu a < x < b. Aby sa to spravalo jak ma, mala by definicia vyzerat asi takto:
: WITHIN? ( a b x -- f ) \ f je pravdivostna hodnota nerovnosti a < x < b \ podla definicie: a < x < b <=> ( a < x ) & ( x < b) DUP ROT < >R < R> AND ;Potom
3 6 5 WITHINdava -1 (True) a
5 3 6 WITHINdava 0 (False).