|
Until vs GoTO |
☑ |
0
spectator_in
28.12.11
✎
15:23
|
В других языках программирования есть такой цикл
Repeat
Statement1;
{Statement2;
...}
Until Expression
А какой аналог у него в 1с? Единственное что получается.
~Метка:
//много строчек кода
Если Условие=Выполняется Тогда
Перейти ~Метка;
КонецЕсли;
|
|
1
Ёпрст
гуру
28.12.11
✎
15:24
|
Прервать
|
|
2
Ёпрст
гуру
28.12.11
✎
15:25
|
обычный цикл + условие + (1).
И не надо никакой метки.
|
|
3
Ёпрст
гуру
28.12.11
✎
15:25
|
будет тебе цикл с постусловием
|
|
4
2S
28.12.11
✎
15:26
|
Пока 1=1 Цикл
...
Если НеНравится = 1 Тогда
прервать
КонецЕсли;
КонецЦикла;
|
|
5
spectator_in
28.12.11
✎
15:29
|
вот уже два варианта извращения)
кто придумает третий?
|
|
6
Азат
28.12.11
✎
15:30
|
(5) причем тут 2? если (4) тупа плагиат (2)?
|
|
7
Doomer
28.12.11
✎
15:31
|
(0) Пишите на ассемблере.
|
|
8
2S
28.12.11
✎
15:31
|
(6) ) это в практике, один хер он бы не понял на словах
|
|
9
YF
28.12.11
✎
15:32
|
(5) А зачем вообще этот вариант нужен? Мне, честно говоря, хватает цикла с Пока
|
|
10
marvak
28.12.11
✎
15:32
|
(0) в 1С нет цикла с пост условием
|
|
11
spectator_in
28.12.11
✎
15:36
|
(6)
свой вариант я тоже считаю извращением) значит 2 варианта
|
|
12
Ненавижу 1С
гуру
28.12.11
✎
15:37
|
УсловиеВходаПервыйРаз = Истина;
Пока УсловиеВходаПервыйРаз Или ВашеУсловие() Цикл
...
УсловиеВходаПервыйРаз = Ложь;
КонецЦикла;
|
|
13
Ёпрст
гуру
28.12.11
✎
15:38
|
можно так еще
а=0;
Пока <Условие> или а=0 Цикл
а=200;
КонецЦикла
|
|
14
Ёпрст
гуру
28.12.11
✎
15:39
|
(12) чорт, опередил
|
|
15
Mort
28.12.11
✎
15:41
|
Продолжать = Истина;
Пока продолжать Цикл
Продолжать = ТвоёУсловие();
КонецЦикла;
|
|
16
Ёпрст
гуру
28.12.11
✎
15:42
|
(15) красиво
|
|
17
spectator_in
28.12.11
✎
15:45
|
(15)(16)
Согласен, понятная красота
|
|
18
sergeante
28.12.11
✎
16:14
|
(0)
Я придираюсь, но по-честному, то цикл Repeat..Until Expression работает, пока Expression=Ложь.
Выход из цикла происходит, когда условие Истина. Поэтому:
(15)
Завершить = Ложь;
Пока НЕ Завершить Цикл
Завершить = ТвоёУсловие();
КонецЦикла;
|
|