Оцениваются ли условия в блоке EVALUATE TRUE в том же порядке, в котором они перечислены? - PullRequest
3 голосов
/ 22 ноября 2011

Если я оцениваю независимые переменные в одном и том же блоке ОЦЕНКА ИСТИНА, оцениваются ли они в том порядке, в котором они перечислены?

Например, если это "ХОЛОДНО" и "СОЛНЦЕ", буду ли я когда-нибудь "ПРИНИМАТЬ СОЛНЕЧНЫЕ ОЧКИ?"Или я бы просто "НОСИТЬ СВИТЕР" и выйти из блока?

 EVALUATE TRUE
  WHEN COLD
     WEAR SWEATER
  WHEN SUNNY
     BRING SUNGLASSES
 END-EVALUATE

Ответы [ 2 ]

5 голосов
/ 22 ноября 2011

Во многих других языках нам часто нужно вставлять оператор разрыва (или аналогичный) в каждый выбор, чтобы он не проваливался.Однако это не относится к оценке COBOL, оценка COBOL заканчивается, когда один из этих вариантов удовлетворяет (или не имеет).

1 голос
/ 10 декабря 2013

Да, они оцениваются в порядке их перечисления. Как только он соответствует условию одного из операторов WHEN, он выходит из кода и переходит к END-EVALUATE

...