相关疑难解决方法(0)

Raku Regex中单管和双管的区别(| Vs ||)

Raku 的正则表达式中有两种类型的交替:|||。有什么不同 ?

say 'foobar' ~~ / foo || foobar /  # ?foo?
say 'foobar' ~~ / foo | foobar /   # ?foobar?
Run Code Online (Sandbox Code Playgroud)

raku nqp

9
推荐指数
1
解决办法
160
查看次数

perl6插值数组匹配AND,OR,NOT函数

我正在尝试重新执行我的程序以匹配所有,匹配任何匹配项目中的项目.关于Perl6的一些文档没有解释当前实现的行为(Rakudo 2018.04),我还有一些问题.

(1)关于正则表达式的文档说,将数组插入匹配正则表达式意味着"最长匹配"; 但是,这段代码似乎没有这样做:

> my $a="123 ab 4567 cde";
123 ab 4567 cde
> my @b=<23 b cd 567>;
[23 b cd 567]
> say (||@b).WHAT
(Slip)
> say $a ~~ m/ @b /
 ?23?    # <=== I expected the match to be "567" (@b[3] matching $a) which is longer than "23";
Run Code Online (Sandbox Code Playgroud)

(2)(|| @b)是Slip; 如何轻松地对数组中的所有元素进行OR或AND而不显式循环遍历数组?

> say $a ~~ m:g/ @b /
(?23? ?b? ?567? ?cd?)
> say $a ~~ m:g/ ||@b /
(?23? ?b? ?567? ?cd?)
> say …
Run Code Online (Sandbox Code Playgroud)

arrays interpolation match perl6

8
推荐指数
1
解决办法
131
查看次数

perl6使用交汇点可能吗?

是否可以使用联结来匹配联结中的任何值?我想匹配数组中的任何值.这样做的正确方法是什么?

lisprog$ perl6
To exit type 'exit' or '^D'
> my @a=<a b c>
[a b c]
> any(@a)
any(a, b, c)
> my $x=any(@a)
any(a, b, c)
> my $y = "a 1"
a 1
> say $y ~~ m/ $x /
False
> say $y ~~ m/ "$x" /
False
> my $x = any(@a).Str
any("a", "b", "c")
> say $y ~~ m/ $x /
False
> say $y ~~ m/ || $x /
False
> say $y …
Run Code Online (Sandbox Code Playgroud)

match perl6 junction

6
推荐指数
1
解决办法
119
查看次数

标签 统计

match ×2

perl6 ×2

arrays ×1

interpolation ×1

junction ×1

nqp ×1

raku ×1