Quick actions

cmd+k|ctrl+k

Navigation

Languages

Protocol using ^parameterize

Snippet info

Language

Raku

Visibility

public

Author

fernando-correa

Created

2025-07-17T13:22:13.462773Z

Updated

2025-07-17T16:07:59.936839Z

use Protocol;

protocol FormattableKeys {
   method keys { ... }
   method formatted-keys { $.keys.join: ", " }
}

say FormattableKeys[];
say FormattableKeys[ProtocolClass];
say FormattableKeys[ProtocolSubset];
say FormattableKeys[ProtocolCoerce];

my FormattableKeys[ProtocolCoerce] $a = %( a => 1, b => 2 );
say $a;
say $a.formatted-keys;

multi sub a(FormattableKeys[ProtocolCoerce] $a) {
    say $a + 1;
    say $a.formatted-keys;
    say $a.^name
}
a %(x => 1, y => 2, z => 3);
INFO