Skip to main content

Функцыі і зменныя

Уводзіны

Ключавая дызайнерская філасофія праграмавання 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 зменныя па змаўчанні змяняльныя (mutable), гэта значыць, іх значэнне можна змяняць падчас выканання праграмы.

Зменныя, што могуць змяняцца, вызначаюцца з дапамогай ключавога слова 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 для аб'яўлення незменных зменных, значэнне якіх нельга змяніць пасля ініцыялізацыі.

Кіруючыся прынцыпам адрознення зменных, якія могуць змяняцца, і незменных зменных, Wave дазваляе больш эфектыўна кантраляваць паслядоўнасць дадзеных і стан праграмы. Гэта дапамагае пісаць больш надзейны і прадказальны код.