2016-12-31 11 views
5

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

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

Он возвращает False. Есть ли способ заставить его работать? Благодарю.

ответ

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

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

+0

Это работает !!! Спасибо !!! Приятно, когда все работает :-) – lisprogtor

+0

@lisprogtor, нажмите на галочку слева от ответа, если вы хотите принять ее как решение своего вопроса (после нажатия на нее галочка изменится на зеленый цвет). Нажатие на галочку указывает, что вам больше не нужна помощь, и она дает очки тому, кто ответил на вопрос. – 7stud

+0

А, я вижу! Спасибо, что указали мне это! Я вернусь на контрольные отметки для людей, которые ответили на мои другие вопросы. Благодарю. – lisprogtor

 Смежные вопросы

  • Нет связанных вопросов^_^