Cobra/Keywords/branch: различия между версиями
< Cobra
Содержимое удалено Содержимое добавлено
категория |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 4: | Строка 4: | ||
== Синтаксис == |
== Синтаксис == |
||
<font face="verdana"> |
<font face="verdana"> |
||
< |
<syntaxhighlight lang="python"> |
||
branch <variable> |
branch <variable> |
||
on <value> [or <value>]... |
on <value> [or <value>]... |
||
Строка 17: | Строка 17: | ||
on <value>, <statement> |
on <value>, <statement> |
||
[else, <statement>] |
[else, <statement>] |
||
</ |
</syntaxhighlight></font> |
||
Значение переменной variable сравнивается со значениями value и выполняется соответствующее выражение. Если не найдено совпадений, выполняется выражение else.<br /> |
Значение переменной variable сравнивается со значениями value и выполняется соответствующее выражение. Если не найдено совпадений, выполняется выражение else.<br /> |
||
Строка 26: | Строка 26: | ||
== Пример == |
== Пример == |
||
<font face="verdana"> |
<font face="verdana"> |
||
< |
<syntaxhighlight lang="python"> |
||
# Notice the keywords `branch` and |
# Notice the keywords `branch` and |
||
# `on` as well as the indentation under each `on` clause |
# `on` as well as the indentation under each `on` clause |
||
Строка 44: | Строка 44: | ||
assert isEven |
assert isEven |
||
assert word == 'two' |
assert word == 'two' |
||
</ |
</syntaxhighlight></font> |
||
Сокращенная форма, с одним выражением. |
Сокращенная форма, с одним выражением. |
||
<font face="verdana"> |
<font face="verdana"> |
||
< |
<syntaxhighlight lang="python"> |
||
x = 'toof' |
x = 'toof' |
||
branch x |
branch x |
||
Строка 54: | Строка 54: | ||
else, word = 'else' |
else, word = 'else' |
||
assert word == 'else' |
assert word == 'else' |
||
</ |
</syntaxhighlight></font> |
||
Сокращенная форма, с несколькими значениями сравнения. |
Сокращенная форма, с несколькими значениями сравнения. |
||
<font face="verdana"> |
<font face="verdana"> |
||
< |
<syntaxhighlight lang="python"> |
||
x = 2 |
x = 2 |
||
branch x |
branch x |
||
Строка 63: | Строка 63: | ||
else, word = 'else' |
else, word = 'else' |
||
assert word == 'number' |
assert word == 'number' |
||
</ |
</syntaxhighlight></font> |
||
Текущая версия от 16:08, 16 апреля 2020
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'