爲什麼Forth使用IF語句THEN ...而不是ENDIF?爲什麼Forth使用IF語句THEN ...而不是ENDIF?
我實現(不符合要求)規定的編譯器的東西。基本上,對於IF語句,Forth的語法對我來說顯得非常不直觀。
IF ."Statement is true"
ELSE ."Statement is not true"
THEN ."Printed no matter what;
爲什麼結尾語句是THEN
?這使得我的語言閱讀非常怪異。對於我的編譯器,我正在考慮將其更改爲類似ENDIF
的內容,該內容更自然。但是,首先倒退IF-THEN陳述的原因是什麼?
有沒有人認爲這會更適合programmers.se? – Earlz
你必須問問查克摩爾。沒有人會知道答案。 [他在這裏說他什麼時候介紹了「有時候被批評的postfix條件」](http://www.colorforth.com/HOPL.html)。 –
如果我沒有太大誤解,那麼(或者可能是)實現(不能完全記得目前的哪一個,對不起)ENDIF被定義爲THEN的一種同義詞,這意味着你並不是第一個找到'IF-ELSE-THEN'的順序有點太不尋常了。不過,我從來沒有遇到過問題。 (我想很久以前我在一些書中看到了它的解釋,並且這符合@AshleyF在他的回答中的說法。) –