Функции и переменные
Введение
Основная философия дизайна языка Wave заключается в балансе между низкоуровневыми возможностями и высокоуровневыми абстракциями, что позволяет создавать эффективную и гибкую среду для разработки программного обеспечения. В этом разделе представлены основные компоненты программы на Wave: функции и переменные. Эти компоненты необходимы для организации логики программы и управления данными. Понимание того, как определять и работать с функциями и переменными, позволит максимально использовать потенциал Wave.
Функции
В языке Wave функция представляет собой переиспользуемый блок кода, который может выполняться независимо. Функции инкапсулируют конкретное поведение и могут быть вызваны в любой части программы, когда это необходимо. Это позволяет выполнять вычисления, управлять операциями ввода/вывода или разделять код на управляемые части.
игнатура функции в Wave начинается с ключевого слова fun
, за которым следует имя функции, параметры (если есть), а затем тело функции, заключенное в фигурные скобки {}
.
Определение функции
Пример определения простой функции в Wave:
fun main() {
// Напишите код здесь
}
- Функция
main
всегда является точкой входа в программу и обязательна для выполнения. - Функции могут принимать параметры и возвращать значения. Тип возвращаемого значения указывается после стрелки
->
.
Пример: простая функция
fun add(a :i32, b :i32) -> i32 {
return a + b;
}
fun main() {
var result = add(5, 7); // Вызов функции add
println(result); // Вывод: 12
}
В этом примере:
- Функция
add
принимает два целых числаa
иb
, и возвращает их сумму. - Функция
main
вызываетadd
и выводит результат.
Переменные
Переменные используются для хранения и манипуляции данными в программе. Wave поддерживает как изменяемые (mutable), так и неизменяемые (immutable) переменные, давая разработчику контроль над управлением данными.
Изменяемые переменные
По умолчанию переменные в Wave являются изменяемыми. Это означает, что их значения можно изменять в процессе выполнения программы.
Изменяемые переменные объявляются с помощью ключевого слова var.
var x :i32 = 10; // Изменяемая переменная
x = 20;
В этом примере:
x
— изменяемая переменная, которая изначально имеет значение10
, но затем может быть изменена на20
.
Неизменяемые переменные
Переменные, объявленные как неизменяемые (immutable), нельзя изменять после того, как им присвоено значение.
Неизменяемые переменные объявляются с помощью ключевого слова var imm
.
var imm y :i32 = 5; // Неизменяемая переменная
// y = 10; // Ошибка: значение неизменяемой переменной нельзя изменить
В этом примере:
y
— неизменяемая переменная, и попытка изменить её значение приведет к ошибке компиляции.
Пример объявления переменных
Примеры объявления различных типов изменяемых и неизменяемых переменных:
var x :i32 = 10; // Изменяемая целочисленная переменная
var imm y :f64 = 3.14159; // Неизменяемая переменная с плавающей точкой
var name :str = "Wave"; // Изменяемая строковая переменная
var imm is_active :bool = true; // Неизменяемая логическая переменная
x
— изменяемая переменная типа целое число.y
— неизменяемая переменная типа с плавающей точкой.name
— изменяемая строка.is_active
— неизменяемая логическая переменная.
В языке Wave для объявления изменяемых переменных используется ключевое слово var
, а для неизменяемых переменных — var imm
.
Разделение на изменяемые и неизменяемые переменные помогает лучше контролировать целостность данных и состояние программы. Это позволяет создавать более устойчивый и предсказуемый код.