Курс по Raku / Напреднали / Оператори / Трейтове и прагми 🆕
Прагми
Прагмата прилича на модул, зареден с use, но
вместо да внася код, тя променя правило за компилация за останалата част
от текущия обхват. Включва се с use и (когато има смисъл)
се изключва с no.
Най-важната прагма, strict, е включена по
подразбиране в Raku: тя изисква всяка променлива да бъде
декларирана преди употреба, което е причината правописна грешка в име на
променлива да бъде уловена, вместо мълчаливо да създаде нова
променлива.
Изключването на strict с no strict премахва
това изискване, така че можете да присвоявате на променлива, която
никога не е била декларирана с my:
no strict;
$x = 42;
say $x; # 42С активирана strict по подразбиране, това голо
$x = 42 би било грешка по време на компилация —
Variable ‘$x’ is not declared. Редът no strict
отпуска правилото за останалата част от обхващащия обхват.
Други прагми включват fatal (която превръща тихия
неуспех в хвърлено изключение — удобна, когато сте се запознали с
обработката на изключения), isms (за разрешаване на идиоми,
заимствани от други езици) и variables (за настройка на
правилата за променливи). Ефектът на прагмата е лексикален —
продължава само до края на блока, в който се появява — така можете да
затегнете или разхлабите правило точно за областта от код, в която го
искате.
Една прагма приема аргумент: lib добавя директория към
списъка, в който Raku търси при зареждане на модули — програмният
еквивалент на опцията -I от командния ред:
use lib 'lib';Ще я използвате, когато започнете да пишете и зареждате собствени модули.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Писане на трейт | Тест — Прагми →
💪 Или преминете направо към упражненията в този
раздел.