perl6 Как лучше всего сопоставить любую группу слов?

Я пытаюсь найти простой способ сопоставить любую группу слов. Я использовал цикл for, но есть ли способ попроще?

my @a=<a b c d e f>;
my $x="a1234567";
say $x ~~ m/ @a.any /;

Возвращает False. Есть ли способ заставить его работать? Спасибо.


person lisprogtor    schedule 31.12.2016    source источник


Ответы (1)


my @a = <a b c d e f>;
my $x = "a1234567";
say $x ~~ /@a/;

/@a/ то же самое, что /| @a/, которое является самым длинным чередованием. Для чередования можно использовать /|| @a/.

person CIAvash    schedule 31.12.2016
comment
@lisprogtor, нажмите на галочку слева от ответа, если хотите принять его как решение вашего вопроса (после нажатия на него галочка изменится на зеленый цвет). Нажатие на галочку означает, что вам больше не нужна помощь, и дает баллы человеку, ответившему на вопрос. - person 7stud; 07.01.2017
comment
Ах я вижу !!! Спасибо, что указали мне на это! Я вернусь и буду отмечать людей, которые ответили на мои вопросы. Спасибо. - person lisprogtor; 08.01.2017