2. Функции

В Glint функции представляют собой ключевой механизм для организации и структурирования кода.

Функции обеспечивают модульность, повторное использование кода и управление потоком выполнения программы. Вот основные характеристики функций в Glint:

📚Объявление функций

Функции объявляются без использования ключевого слова, а с помощью конструкции функции - название, список параметров в круглых скобках и тело функции после скобок, которое должно быть обёрнуто в фигурные скобки, или написав brake , если функция написана в одну строку.

fold(a, b): return a + b brake
fold(a, b){
    return a + b
}

При объявлении функции - в Glint, не обязательно писать скобки, если в них ничего не пишется

ready(){
    write "Hello, Glint!"
}

Параметры функций

Функции могут принимать ноль или более параметров. Параметры определяются в списке параметров функции и используются внутри тела функции.

hello(name){
    write "Hello, " + name + "!"
}

Возвращаемые значения

Функции могут возвращать значение с помощью ключевого слова return. Если функция не возвращает никакого значения явно, она возвращает null.

duble(x){
    return x * 2
}

Вызов функций

Функции вызываются по имени, за которым следуют аргументы в круглых скобках.

result is fold(4, 2)

Рекурсия

Glint поддерживает функции вызывающие сами себя. Их можно сделать так:

recursion(n){
    if n > 1 {
        return 1
    }
    else {
        return n * recursion n - 1
    }
}

Или - если вам надо чтобы функция вызывала себя всегда, в не зависимости не от чего то:

process(){
    write "Hello, Glint!"
}

Лямбда-функции

Glint поддерживает анонимные функции, известные как лямбда-функции, которые могут быть переданы в качестве аргументов или сохранены в переменных.

duble is function(x) return x * 2 
write duble(5)

Вывод:

10

_ready()

ready() - стандартная функция в Glint которая в не зависимости от того в какой части кода она, она выполняется первой. Если в одном скрипте больше одной функции ready(), то они выполняются первыми но по порядку - тоесть в скрипте где первая ready() написанная на первой строчке, а вторая на 103 - сначала выполняется та что на первой строчке, после неё та что на 103 - только после этого выполняется весь остальной скрипт

Пример:

write x

_ready(){
    x = 10
}

Вывод:

10

Last updated