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
   if i == 3 then
      break
   endif
next


На сегодняшний день выполнить такое можно только вынеся этот цикл в отдельную функцию, а в ней вместо 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/