小编Bet*_*rge的帖子

为什么在perl6中的正则表达式捕获周围会出现unicode引号?

我正在使用rakudo,以下代码:

"foo" ~~ m/(foo)/;
say $0;
Run Code Online (Sandbox Code Playgroud)

我认为输出将是:

foo
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

?foo?
Run Code Online (Sandbox Code Playgroud)

(这是foo,周围有一些奇怪的unicode-y引号.)

我在文档中找不到任何相关内容,我似乎无法摆脱这些引用.这里发生了什么事?

编辑:做

say "$0";
Run Code Online (Sandbox Code Playgroud)

而是摆脱了引号,两者兼而有之

print $0;
print "$0";
Run Code Online (Sandbox Code Playgroud)

也做.所以我猜捕获实际上不是一个字符串,并在它周围加上双引号将它变成一个字符串?(顺便说一下,$ 0.gist产生"foo",而不是foo.)有人能指出我可以了解这个行为的文档部分吗?我来自Perl,并且彻底迷茫.

regex perl6 raku

11
推荐指数
1
解决办法
194
查看次数

标签 统计

perl6 ×1

raku ×1

regex ×1