Cobra/Keywords/branch
Внешний вид
< Cobra
Branch
[править]Branch оператор используется для условно выполнения кода, в случае если есть несколько вариантов исполнения в зависимости от значения переменной.
Синтаксис
[править]
branch <variable>
on <value> [or <value>]...
<statements>
[on <value> [or <value>]...
<statements> ]...
[else
<statements>]
branch <variable>
on <value>, <statement>
on <value>, <statement>
[else, <statement>]
Значение переменной variable сравнивается со значениями value и выполняется соответствующее выражение. Если не найдено совпадений, выполняется выражение else.
- Переменная variable должна быть целое число, символ, перечисление или строка.
- Выражения их соответствие (<value>) должны быть константами (например 0, 1, с'х', State.Off, "foo").
Вторая форма является сокращенной формой записи, где значение и соответствующее выражение должны быть на одной строке. Несколько значений могут быть указаны с помощью ключевого слова or.
Пример
[править]
# Notice the keywords `branch` and
# `on` as well as the indentation under each `on` clause
x = 2
branch x
on 1
isEven = false
word = 'one'
on 2
isEven = true
word = 'two'
on 3
isEven = false
word = 'three'
else
word='UNKNOWN'
assert isEven
assert word == 'two'
Сокращенная форма, с одним выражением.
x = 'toof'
branch x
on 'woof', word = 'one'
on 'doof', word = 'three'
else, word = 'else'
assert word == 'else'
Сокращенная форма, с несколькими значениями сравнения.
x = 2
branch x
on 1 or 2 or 3, word = 'number'
else, word = 'else'
assert word == 'number'