Calling by name
While looking for something completely different, I found that Roast really likes named callable placeholder variables.
dex@dexhome:~/projects/raku/roast$ ack -l '&\:'
S02-names/SETTING-6c.t
S02-names/SETTING-6e.t
S02-names/pseudo-6c.t
S02-names/pseudo-6d.t
S02-names/pseudo-6e.t
S02-names/symbolic-deref.t
S06-operator-overloading/infix.t
S06-signature/closure-parameters.t
S32-num/rounders.t
integration/advent2013-day10.t
integration/weird-errors.t
That is hardly a surprise, given that the specs are composed of short snippets of code. Placeholder variables fit right in!
sub foo { "Good &:greeting(now.DateTime.hour) $:name!" };
say foo :name<Paul>, :greeting{$_ < 12 ?? 'morning' !! 'day'};
say &foo.signature;
# OUTPUT: Good day Paul!
(:&greeting!, :$name!)
It’s really nice how interpolation and placeholders work together here. I have reported the ENODOC.
Even after years and years of being a Raku beginner, I still find new stuff when digging deep enough. Maybe it’s a good thing that we don’t have a Raku book. It would surely be backbreaking.
Categories: Raku
Comments (0)
Trackbacks (1)
Leave a comment
Trackback
-
September 6, 2021 at 14:422021.36 Clean Disp – Rakudo Weekly News