Конструкции языка
Блок это последовательность определений и конструкций внутри фигурных скобок. Блоки могут вкладываться друг в друга.
Определение переменной
Любая переменная функции должна быть описана перед её использованием. Определение переменной создает одну или несколько переменных и присваивает каждой начальные значения. Переменная может быть определена в любом блоке. Область видимости переменной распространяется на блок, в котором она определена и на все вложенные блоки. Нельзя создавать переменные с именем существующих функций и видимых переменных. Также, имя переменной должно содержать как минимум одну букву в нижнем регистре, так как имена в верхнем регистре используются для констант. Определение переменой начинается с указания её типа. Существует два типа инициализации - можно определить одну переменную с присваиванием ей значения или несколько переменных одного типа с инициализацией по умолчанию.
Вы можете определить опциональные параметры-переменные указав ? после типа переменной. Если вы инициализируете опциональный параметр оператором присваивания = или &=, то это будет его значение по умолчанию в том случае, если параметр не будет определен при вызове функции. Для того чтобы передать опциональный параметр при вызове функции, необходимо указать имя переменной и её значение через двоеточие. Опциональные параметры указываются после обычных параметров.
Конструкция if
Конструкции if начинаются с "if", они могут иметь один или несколько блоков "elif" и заканчиваться "else". Команда последовательно вычисляет условие для каждой ветки и, если условие возвращает истину, то тогда происходит выполнение соответствующего блока. В этом случае, остальные ветки пропускаются и управление передается следующей команде. Если условия во всех ветках ложны, то выполняется блок "else", если он существует.
Конструкция while
Конструкция while является простым циклом. Данная конструкция выполняет блок до тех пор, пока логическое выражение равно истине. Если выражение ложно изначально (при первом обращении), то блок не будет выполнен ни разу.
Конструкция for
Конструкция for служит для перебора всех элементов указанного объекта. Объект должен иметь тип, который поддерживает обращение по индексу, например, arr, map, str, buf, set, range of integers. Для каждого из его элементов выполняется код, который определен внутри конструкции. Вы должны указать имя переменной, которой будут присваиваться элементы и, опционально, имя переменной, которая будет равна текущему индексу. Если вы хотите перебрать целочисленные значения в указанном диапазоне, то используйте в качестве объекта запись from..to, где from и to значения типа int. Такой цикл будет перебирать все числа от from до to, включая крайние значения. Начальное значение может быть больше конечного значения, в этом случае, значение на каждом цикле будет уменьшаться.
Конструкция switch
Конструкция "switch" позволяет производить разные действия в зависимости от значения выражения. После ключевого слова switch необходимо указать начальное выражение, значение которого будет сравниваться с различными вариантами в блоках case. Значение может иметь тип int, float, char, str. Затем вам нужно перечислить блоки case со всеми возможными значениями и соответствующим кодом в фигурных скобках, который необходимо будет выполнить в случае соответствия. Для одного case может быть указано несколько значений, разделённых запятыми. После выполнения case блока с найденными соответствием, программа заканчивает работу switch конструкции. Оставшиеся case блоки не проверяются.
Если вы хотите выполнить какие-то действия в случае, если подходящий вариант не найден, то укажите в конце блок default. Конструкция default может быть только одна и идти после всех case конструкций.
Локальные функции local
Вы можете определять локальные функции local внутри функций func. Локальные функции могут принимать параметры и возвращать значения. Локальные функции не поддерживают переменное число аргументов. Для возврата из локальной функции необходимо использовать конструкцию return. В локальных функциях можно обращаться к внешним переменным и параметрам, которые были определены выше.
Конструкция return
Конструкция "return" прекращает выполнение текущей функции и может возвращать результирующее значение. Если у функции не указан результирующий тип, то конструкция "return" не должна возвращать значение. Вы можете использовать return в любом вложенном блоке.
Конструкция break
Конструкция break используется для выхода из конструкции switch/case и циклов (for и while). break может быть внутри вложенных блоков. Если есть несколько вложенных циклов, то произойдёт выход из текущего цикла.
Конструкция continue
Конструкция "continue" действует внутри циклов (for и while) и позволяет перейти к выражению изменения счетчика для циклов for или к выражению условию для while не выполняя до конца тело цикла. В случае вложенных циклов инструкция действует на текущий цикл .
Last updated