9

長いリストがあり、文字列がリスト内の何かと一致するかどうかを確認したい場合があります。正規表現内のジャンクションを補間しようとしています。それらはすべてエラーです。

say "12345" ~~ m/ <{ (2,3,4).any }> /
Cannot resolve caller MAKE_REGEX(Int, Bool, Bool, Int, PseudoStash); none of these signatures match:

say "12345" ~~ m/ $( (2,3,4).any ) /
This type cannot unbox to a native string: P6opaque, Junction

このエラー メッセージは、正規表現補間内でジャンクションを使用できないことを意味しますか?

私が持っている回避策は

say "12345" ~~ m/ <{ (2,3,4).join("||") }> /
「2」

正規表現補間内でジャンクションを使用するにはどうすればよいですか?

4

1 に答える 1