profiT писал(а):
PARSE + C@ = 0= WHILE -- это проверка на "magic value"! Случай №3 из, судя по всему так и не прочитанного (а прочитанного, так не понятого; а понятого, так плюнутого) разложения применений 0=. Логические выражения там не при делах совершенно. Такие вот замены, с шашкой наголо, это не "упрощение" кода (и без того в высшей степени сомнительное), это его обфускация и создание удобных условий жизни для багов в коде.
очень даже при делах. Во-первых слова IF WHILE UNTIL и им подобные должны получать логические значения, которые генерируют флаги. Правда этим словам позволена некая удобная вольность считать все значения отличные от FALSE - значениями TRUE - эта приятная мелочь избавляет от необходимости писать такие вещи 0 <> IF а просто писать IF - может это не очень корректно с какой-нибудь формальной точки зрения, но очень удобно
и практично.
К тому же пример приведен не очень правильный, так как мне и самому это самое слово '(' не очень нравится, да руки у меня до него не добрались ( слово не очень правильное - так как должно бы вообще-то быть не более чем однострочным и никаких REFILL в нем быть не должно бы )
profiT писал(а):
Упс, извиняюсь за горячие слова.. С примером на ( дал плюху. Это правда, не отменяет других слов (в цикле sFindIn есть такое с магическим нулём слова SEARCH-WORDLIST).
))
ну и что? не могу понять чем не нравится "магический 0" - значение-то действительно редкое и удобное
profiT писал(а):
А ещё не надуманно ли писать = WHILENOT вместо <> WHILE? Ведь слово <> ты у себя не вырезал.
нет не вырезал, так как оно где-то используется. Но дело даже не в том, я не могу все слова в СПФе переписать или проконспектировать. А я до этого еще не дожился. (все время обнаруживаю озадачивающие меня слова - например мне очень в последнее время нравится слово READ-LINE - ужастно выглядит оно и не только оно к сожалению ) Поэтому я честно нашел все места где было написано 0= IF или 0= WHILE и заменил на IFNOT и WHILENOT
не особенно разбираясь зачем там нужно формировать флаг, когда без него можно обойтись.