Course of Raku / Advanced / Operators

Traits and pragmas 🆕

Two features let you influence how code is compiled, before it ever runs. A trait is a modifier attached to a declaration — a variable or a routine — written with is. A pragma is a module-like directive, switched on with use (or off with no), that changes a rule for the rest of the lexical scope.

You have already used a trait such as is default in passing. This section looks at traits as a feature in their own right, shows how to write your own, and introduces pragmas.

Topics in this section

Practice

Complete the quizzes that cover the contents of this section.

Exercises

This section contains 3 exercises. Examine all the topics of this section before doing the coding practice.

  1. A writable parameter
  2. A custom trait
  3. Relaxing strict

Course navigation

Quiz — Defining an operator   |   Built-in traits