小编use*_*456的帖子

哪种 Raku 正则表达式修饰符可以使点与换行符匹配(如 Perl 的 /s)?

如何使点 ( .) 元字符匹配 Raku 正则表达式中的换行符?在 Perl 中,我会使用点匹配换行符( /s)?

regex newline raku

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

Perl 正则表达式变量 $+{name} 和 $-{name} 的区别

$+{name}Perl 正则表达式变量之间以及$-{name}两者用于从 Perl 语句/表达式代码引用同一正则表达式组时有什么区别?

regex perl

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

插入的 Raku 条件代码正则表达式

如何在 Raku 正则表达式中插入条件代码
正则表达式 与 Perl 正则表达式类似

 my $F = 1;
 'foobarbar' =~ / (?(?{  $F  }) foo |  bar ) bar /x  ;
Run Code Online (Sandbox Code Playgroud)

辛苦了一天了,没有结果,请大家帮忙,谢谢。

raku

9
推荐指数
2
解决办法
236
查看次数

判断当前循环迭代是否是最后一次

我们如何知道并确定循环的当前点是否是最后一个(因为在 Perl 中由于有 \ ref. 运算符可见而简单地完成了这一点)?

编辑后的更正链接: https://perlmonks.org/? node_id=11140741

请帮忙指出解决方法。谢谢

raku

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

正确的 Raku 递归正则表达式语法是什么?

Raku 递归正则表达式语法和 Raku 中的所有匹配变量是什么或如何作为尝试

'hellohelloworldworld' ~~ m{ ^(h\w+?o) (?0) world  };
say "\n=$&"
Run Code Online (Sandbox Code Playgroud)

似乎不起作用

请帮忙解决这些问题。

raku

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

Raku 中提示用户输入(如 Perl 的 $inp=<>)

我们如何做 Perl 的'

$inp=<>;

在 Raku 中提示用户一行?

由于lines();不断提示用户输入,因此工作方式不同

请帮忙澄清一下

raku

8
推荐指数
2
解决办法
190
查看次数

Raku 交替捕获组的行为如何与 Perl 相同

Raku 在交替捕获组上的行为如何与 Perl 正则表达式的行为一样,例如

\n
> 'abefo' ~~ /a [(b) | (c) (d)] (e)[(f)|(g)]/\n\xef\xbd\xa2abef\xef\xbd\xa3\n 0 => \xef\xbd\xa2b\xef\xbd\xa3\n 2 => \xef\xbd\xa2e\xef\xbd\xa3\n 3 => \xef\xbd\xa2f\xef\xbd\xa3\n
Run Code Online (Sandbox Code Playgroud)\n

需要是“通常的”Perl 正则表达式结果(让索引系统保持 Raku):

\n
 $0 = 'b'\n $1 = undef\n $2 = undef \n $3 = e\n $4 = f\n
Run Code Online (Sandbox Code Playgroud)\n

请给予有用的指导。

\n

raku

7
推荐指数
2
解决办法
130
查看次数

在 Raku 上,我们如何从相应的正则表达式捕获中单独填写多个变量

最简单的 Raku 是如何从正则表达式捕获的结果中按相应的顺序填充这么多单独的变量
(就像 Perl 一样) my ($a, $b $c, $d, $e)= 'hello' =~ m{ ^(h) (e) (l) (l) (o) }x

)?

尝试这样的:

> my ($a, $b, $c, $arr);
[<$a $b $c>]= 'hello world' ~~ m{ (h)(e)(l)lo };
say "\n=$a\n=$b\n=$c"

Use of uninitialized value element of type Any in string context.
    Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.
      in block <unit> at <unknown file> line 1
Run Code Online (Sandbox Code Playgroud)

...

失败了。
请给出正确且最接近Perl的类似方式。

raku

7
推荐指数
2
解决办法
146
查看次数

如何展平或字符串化对象(尤其是匹配)?

我们如何将 Match(或其他)对象展平或字符串化为字符串数据类型(尤其是大量,即作为数组元素)?例如

'foobar' ~~ m{ (foo) };
say $0.WHAT;

my $foo = $0;
say $foo.WHAT
Run Code Online (Sandbox Code Playgroud)
(Match)
(Match)
Run Code Online (Sandbox Code Playgroud)

结局如何(Str)

raku

6
推荐指数
3
解决办法
163
查看次数

返回 f(x) 和返回 (f(x)) 的差异


return f(x)
和有什么区别
return (f(x))

最好是在逻辑分析的意义上

lua

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

打印 Nim 地址的简单语法

如何像在 C 中一样打印出 Nim 地址:

 int array[] = { 7, 8, 9 };
 printf(" %p ", (void *)&array);
Run Code Online (Sandbox Code Playgroud)

?尝试:

 var
   arr = newSeq[array[2,int]](2)
   refVar = addr arr

 echo refVar
Run Code Online (Sandbox Code Playgroud)

给了:

Error: type mismatch: got <ptr seq[array[0..1, int]]>
but expected one of: 
proc echo(x: varargs[typed, `$`])
  first type mismatch at position: 1
  required type for x: varargs[typed]
  but expression 'refVar' is of type: ptr seq[array[0..1, int]
Run Code Online (Sandbox Code Playgroud)

请大家帮忙!

nim-lang

3
推荐指数
1
解决办法
954
查看次数

标签 统计

raku ×8

regex ×2

lua ×1

newline ×1

nim-lang ×1

perl ×1