小编Jo *_*ing的帖子

Perl 6:音译中的反斜杠(tr ///)

我在试验时注意到tr///,它似乎没有转换反斜杠,即使在转义时也是如此.例如,

say TR"\^/v"." given 'v^/\\';
say TR"\\^/v"." given 'v^/\\';
say TR"\ ^/v"." given 'v^/\\';
Run Code Online (Sandbox Code Playgroud)

所有这些都是输出 ...\而不是我的预期,....

还有一些其他奇怪的行为,比如\看似只是转义小写字母,但是文档页面没有太多信息...... \在音译(tr///)中反斜杠()的行为究竟是什么?

transliteration perl6

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

列表重复(xx)没有评估?

列表重复运算符(xx)在每次重复时评估列表.例如,

my @input = get() xx 5;
Run Code Online (Sandbox Code Playgroud)

将评估STDIN的前5行.有没有什么方法可以重复5次元素的,而不是每次都进行评估?目前,我一直在将它分配给变量,然后重复它,但这样看起来有点麻烦.

my $firstLine = get();
my @firstlineRepeated = $firstLine xx 5;
Run Code Online (Sandbox Code Playgroud)

是否有一个前缀或某些东西可以让我在一个声明中做到这一点?

perl6 raku

11
推荐指数
2
解决办法
180
查看次数

Perl 6:提前捕获

我正在尝试为此代码高尔夫挑战编写一个Perl 6正则表达式,该挑战用规则拆分字符串:

  • 长度小于等于3的相同字符的序列将被分组在一起
  • 但是4个或更多将导致在检查其余两个之前将前两个分组

例如:

66667888    -> '66', '66, '7', '888'
19999999179 -> '1', '99', '99', '999', '1', '7', '9'
Run Code Online (Sandbox Code Playgroud)

我以为正则表达式m:g/(.)[$0$0<!$0>|$0?]/可以正常工作,但是在负前瞻中使用捕获似乎会破坏它,而且我不知道如何正确使用它。

根据我的使用方式,它会永远循环,抛出错误 Cannot resolve caller INTERPOLATE_ASSERTION返回错误的结果。有没有适当的方法可以提前使用捕获,或者这是一个错误?

regex perl6 regex-lookarounds raku

10
推荐指数
1
解决办法
107
查看次数

标签 统计

perl6 ×3

raku ×2

regex ×1

regex-lookarounds ×1

transliteration ×1