Курс по Raku / Напреднали / Контейнери / Скаларни контейнери
Стойности по подразбиране
Когато нова скаларна променлива е създадена без непосредствено присвояване, контейнерът все пак съдържа стойност — своята стойност по подразбиране. Точната стойност по подразбиране зависи от типа на променливата.
Програмата по-долу не е най-добрият начин за използване на Raku, но илюстрира идеята:
my $int;
say $int + 5;Изходът съдържа 5, което може да е очакваното, ако сте
приели, че стойността по подразбиране на $int е
0. Въпреки това програмата също отпечатва
предупреждение:
Use of uninitialized value $int of type Any in numeric context
in block <unit> at t.raku line 2
5За да премахнете тази неопределеност, или присвоете стойност изрично:
my $int = 0;
say $int + 5; # 5Или декларирайте стойност по подразбиране с характеристиката
is default:
my $int is default(0);
say $int + 5; # 5Стойността по подразбиране не е ограничена до нула. Тя може да бъде всяка стойност, която смятате за подходяща, например:
my $int is default(1);
say $int + 5; # 6Навигация в курса
← Тест — Ограничения на типове | Проксиране на методни повиквания →
💪 Или преминете направо към упражненията в този
раздел.