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