Rules / Types, classes & roles / composite
Stash Reference
Table for "our"-scoped symbols
What it is #
class itself, via C<.can> and C<.^methods>.
Examples, run three ways #
Every example below comes from the official documentation, together with the output that documentation asserts. Each was then executed by Rakudo and by Raku++ when this page was built. Where the three agree, one result is shown; where they do not, all three are — because which of them is wrong is exactly the information worth having.
1 no-output · 1 rakupp-differs · 1 unrun
class Stash is Hash { }Not executed: the documentation states no expected output for this example.
class Boring {
class Nested { };
our sub package_sub { }
my sub lexical { };
method a_method() { }
}
say Boring::.^name; # OUTPUT: «Stash»
say Boring.WHO === Boring::; # OUTPUT: «True»Documentation
Stash
True
Rakudo
Stash
True
Raku++
Boring::
False
Raku++ disagrees with both the documentation and Rakudo — a defect.
say Boring::.keys.sort; # OUTPUT: «(&package_sub Nested)» say Boring::<Nested>; # OUTPUT: «(Nested)»