Yoko http://forum.yoko.com.ua/ |
|
Break http://forum.yoko.com.ua/viewtopic.php?f=4&t=1364 |
Page 1 of 1 |
Author: | Edred [ 2004-09-13 15:56:23 ] |
Post subject: | Break |
В свете обсуждения в General перспектив переписывания скриптового модуля хочу написать о наболевшем ![]() Очень хотелось бы увидеть в синтаксисе языка команду Break. Эта команда (обычно) прерывает исполнение циклов while, repeat, for. То есть, например: Code: for i=1 to 5 На сегодняшний день выполнить такое можно только вынеся этот цикл в отдельную функцию, а в ней вместо break поставить return. Но этот способ приводит во-первых к излишнему умельчению модулей скрипта, во-вторых (из-за необходимости передавать в эти функции множество параметров и получать некоторые из них обратно) - к раздуванию количества глобальных переменных. Что тоже не есть хорошо. Такой оператор есть практически в каждом языке программирования и, насколько я понимаю, его реализация в интерпретаторе или компиляторе не должна вызывать значительных трудностей. |
Author: | Yoko [ 2004-09-13 16:33:22 ] |
Post subject: | |
не брейков единых не хватает в скриптовом модуле. его проблемы в особенностях реализации. вообще автор сделал скриптовый модуль из компилятора, что является экзотическим решением для интерпретаторов. кстати насчёт прерывания фора, если такое мне требуется, я обычно приспосабливаю для этого изменение переменной счётчика (в твоём случае if i==3 then \ i=5 \ end if) |
Author: | Edred [ 2004-09-13 17:12:18 ] |
Post subject: | |
Yoko wrote: не брейков единых не хватает в скриптовом модуле. его проблемы в особенностях реализации. вообще автор сделал скриптовый модуль из компилятора, что является экзотическим решением для интерпретаторов.
кстати насчёт прерывания фора, если такое мне требуется, я обычно приспосабливаю для этого изменение переменной счётчика (в твоём случае if i==3 then \ i=5 \ end if) Ну фор я привел только для примера... Можно конечно вводить спецпеременную, специально для прерывания циклов, проверку ее в условия, эх... но гимор страшный. Насчет способа реализации - я читал. И сам поражался... А в языке конечно не хватает оператора Case, но вряд ли он и будет реализован. Хотя для него тоже нужен break. |
Page 1 of 1 | All times are UTC+02:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |