Skip to content

if, else, while, for, foreach, etc.

bas1c edited this page Dec 6, 2022 · 7 revisions

Для создания условий используются ключевые слова if и else

Оператор if...else используется, когда необходимо при истинности условия выполнить одни инструкции, а при ложности - другие. Пример:

if (1 == 0) {
    sout "1 равен 0\n"
}
else {
    sout "1 не равен 0\n"
}
stop()

Оператор else if используется, когда необходимо при истинности одного условия не переходить к следующему. Пример:

x = 2

if (x == 1) {
    sout "x равен 1\n"
}
else if (x == 2) {
    sout "x равен 2\n"
}
else if (x == x) {
    sout "x равен x\n"
}
else {
    sout "x ничему не равен\n"
}

//На выход мы получим "x равен 2"
stop()

Для создания циклов используются ключевые слова while, for и do

Цикл while имеет следующий синтаксис:

while (true) {
    //code
}

Цикл while проверяет условие на истинность, и если оно равняется true, то выполняется код из тела

Цикл do-while имеет следующий синтаксис:

do {
    //code
}
while(true)

Цикл do-while проверяет условие на истинность, и если оно равняется true, то выполняется код из тела do

Цикл for имеет следующий синтаксис:

for i = 0; i <= 10; i++ {
    //code
}

То есть, начало выполняется один раз, а затем каждая итерация заключается в проверке условия, после которой выполняется тело и шаг.

statement - блок кода который не выполняется, используется для lambda

lambda - оператор возвращающий так называемый "statement". Синтаксис lambda:

use "std"

st = lambda statement { while(true) print("LAMBDA!!!!") }

exec_st(st)

try-catch -

Оператор try определяет блок кода, который во время выполнения будет проверяться на возникновение ошибок.

Оператор catch определяет блок кода, который будет выполняться, если в блоке оператора try возникнет ошибка.

Синтаксис try-catch:

use "std"

b = 5
try {
    to_string() //Ошибка в вызове функции
} catch {
    print(to_string(b))
}
//На выход мы получим 5
stop()

Цикл foreach перебирает все элементы в списке/строке. Синтаксис foreach:

use "std"

array = new_array(1, 2, 3)

foreach array to "i" {
    sout i
}
//Output: 123

foreach "string" to "j" {
    sout j + "_"
}
//Output: s_t_r_i_n_g_

await - оператор вызывающий СТАНДАРТНУЮ функцию асинхронно. Синтаксис await:

use "std"

await print("Hello, world")

switch-case - это оператор управления, который в зависимости от значения параметра (который указывается в switch) выполняет определенный блок операторов

Синтаксис switch-case:

use "std"

switch 22 {
	case 11*2 {
		print("123")
		stop()
	}
}
//На выход мы получим "123"