HaloO, Gaal Yahas wrote:
In pugs, r7961:my @pats = /1/, /2/; say "MATCH" if 1 ~~ any @pats; # MATCH say "MATCH" if 0 ~~ any @pats; # no match So far so good. But: my $junc = any @pats; say "MATCH" if 1 ~~ $junc; # no match say "MATCH" if 0 ~~ $junc; # no match Bug? Feature?
Ohh, interesting. This reminds me to my proposal that junctions are code types and exert their magic only when recognized as such. The any(@pats) form constructs such a code object right in the match while the $junc var hides it. My idea was to explicitly request a code evaluation by one of my &junc = any @pats; # 1: use code sigil say "MATCH" if 1 ~~ junc; say "MATCH" if 1 ~~ do $junc; # 2: do operator say "MATCH" if 1 ~~ $junc(); # 3: call operator But this might just be wishful thinking on my side. --
