Курс по Raku / Напреднали / Контейнери / Скаларни контейнери
Проксиране на методни повиквания
Да бъдеш скаларен контейнер всъщност означава да бъдеш обект от тип
Scalar. В повечето случаи използването на скалари е толкова
прозрачно, че разработчикът не трябва да мисли изобщо за контейнера и
може да си представя, че работи директно със стойностите, съхранени в
него.
Това работи, защото скаларният контейнер препраща извикванията на
методи към стойността, която съдържа. Например, след присвояването
my $lang = 'Raku', можете да извикате метода
.chars върху променливата:
my $lang = 'Raku';
say $lang.chars; # 4Програмата отпечатва 4, което е броят на символите в
низа 'Raku'. Резултатът е абсолютно същият, както ако
извикате .chars директно върху стойността на низа, а не
върху контейнерната променлива:
say 'Raku'.chars; # 4С други думи, контейнерът тихо препраща извикването на
.chars към низа, който съдържа, и ви връща резултата.
Навигация в курса
← Стойности по подразбиране | Отстъпка по подразбиране →
💪 Или преминете направо към упражненията в този
раздел.