Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2008-12-18 16:01:11 ЛС | профиль | цитата
bublik, вообще глядя на структуру элементов мне начинает казаться, что палитра делается по образу и подобию элементов пакета Delphi, что вообще говоря является шагом назад. Структуры более высокого порядка представлены пакетами WEB, QT и прочими FTCG нследниками. Поясню на примере: смотрим элемент while

#hws
func doWhile
println('while ' + Op1 + While + Op2)
event(onWhile)
println('endwhile')
end
и видим повторение интерфейса элемента Repeat пакета Delphi(за исключением события onEndWhile). Все бы ничего, но что делать если я хочу не просто сравнить А с Б, но еще и А с С Ответ очевиден: перед циклом поставить два IF, провести эти сравнения и сохранить результаты, а потом уже их сравнивать в while. В WEB тот же элемент может возвращать условие по нижней точке и в результате выдавать 100% оптимальный код:

#bas
while A = B and A = C
...
endwhile

хотел пример кода из DB привести, но оказалось, что в операторах сравнения нет and... В общем логичнее делать так:

#hws
func doWhile
println('while ' + Condition)
block.inclvl()
event(onWhile)
block.declvl()
println('endwhile')
event(onEndWhile)
end
где Condition это точка типа Integer
карма: 27
0