Raku-Kurs / Fortgeschritten / Operatoren / Traits und Pragmas
Pragmas
Ein Pragma sieht aus wie ein mit use geladenes
Modul, aber anstatt Code einzubinden, ändert es eine Kompilierungsregel
für den Rest des aktuellen Gültigkeitsbereichs. Aktivieren Sie eines mit
use und (wo es sinnvoll ist) deaktivieren Sie es mit
no.
Das wichtigste Pragma, strict, ist in Raku
standardmäßig aktiviert: Es erfordert, dass jede
Variable vor der Verwendung deklariert wird, weshalb ein Tippfehler in
einem Variablennamen erkannt wird, anstatt stillschweigend eine neue
Variable zu erzeugen.
Das Deaktivieren von strict mit no strict
hebt diese Anforderung auf, sodass Sie einer Variablen einen Wert
zuweisen können, die nie mit my deklariert wurde:
no strict;
$x = 42;
say $x; # 42Mit dem standardmäßig aktiven strict wäre das bloße
$x = 42 ein Kompilierzeitfehler — Variable ‘$x’ is not
declared. Die Zeile no strict lockert die Regel für
den Rest des umschließenden Gültigkeitsbereichs.
Weitere Pragmas sind fatal (das einen stillen Fehler in
eine ausgelöste Ausnahme verwandelt — nützlich, sobald Sie die
Ausnahmebehandlung kennengelernt haben), isms (um Idiome
aus anderen Sprachen zu erlauben) und variables (um
Variablenregeln anzupassen). Die Wirkung eines Pragmas ist
lexikalisch — sie dauert nur bis zum Ende des Blocks, in dem es
erscheint — sodass Sie eine Regel genau für den Codebereich verschärfen
oder lockern können, in dem Sie es möchten.
Ein Pragma nimmt ein Argument entgegen: lib fügt ein
Verzeichnis zur Liste hinzu, die Raku beim Laden von Modulen durchsucht
— das programmierbare Äquivalent der Kommandozeilenoption
-I:
use lib 'lib';Sie werden es verwenden, sobald Sie beginnen, Ihre eigenen Module zu schreiben und zu laden.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Einen Trait schreiben | Quiz — Pragmas →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.