我发现,对于脚本编写成瘾者来说,加入raku的一个巨大卖点就是拥有这样的结构
my $w = "Hello world";
$w
~~ s/Hello/Hola/
~~ s/world/mundo/
;
say $w; # » Hola world
然而,我似乎不能写这样的东西。据我所知,使用<代码>执行此操作。substStr的方法太难看了,这种链式的s///code>或者甚至也tr///code>基本上会成为sed用户等的门户药物。
我的问题是,我是否遗漏了什么,在拉库是否有可能发生类似的事情。我不是初学者,我想不出来。
到目前为止,一些优秀的答案(包括评论)。
在进行多次(连续)替换时,利用Raku的非破坏性S//
运算符通常很有用。在Raku REPL中:
> my $w = "Hello world";
Hello world
> given $w {S/Hello/Hola/ andthen S/world/mundo/};
Hola mundo
> say $w;
Hello world
一旦您对代码感到满意,您可以将结果分配给一个新变量:
> my $a = do given $w {S/Hello/Hola/ andthen S/world/mundo/};
Hola mundo
> say $a
Hola mundo
进一步考虑这个想法,我编写了以下“baby Raku”翻译脚本,并将其保存为Bello\u Gallico。p6。跑步很有趣!
my $caesar = "Gallia est omnis divisa in partes tres";
my $trans1 = do given $caesar {
S/Gallia/Gaul/ andthen
S/est/is/ andthen
S/omnis/a_whole/ andthen
S/divisa/divided/ andthen
S/in/into/ andthen
S/partes/parts/ andthen
S/tres/three/
};
put $caesar;
put $trans1;
HTH。
https://docs.raku.org/language/regexes#S///_non-destructive_substitution
您可以将与或给定
with $w {
s/Hello/Hola/;
s/world/mundo/;
}
然后
$w andthen s/Hello/Hola/ && s/world/mundo/;
或者这个丑陋的建筑
$_ := $w;
s/Hello/Hola/;
s/world/mundo/;
我在寻找一个更简单的解决方案。 我有一个带相应后缀的前缀列表和一个根列表。 我想说出所有可能的“单词”:《代码》A1a、《代码》B1b<代码>A2a<代码>E2e。 我想使用zip或cross之类的东西可以更容易地完成这项工作,但我不知道如何。。。
问题内容: 为什么下面的工作?我希望会被抛出。 问题答案: 为什么必须起作用? 在JLS 5,第15.18.1.1节 JLS 8§15.18.1 “字符串连接运算符+” ,导致JLS 8,§5.1.11 “字符串转换”,要求该操作无故障成功: …现在只需要考虑参考值。如果引用为null,则将其转换为字符串“ null”(四个ASCII字符n,u,l,l)。否则,转换的执行就好像是通过调用不带参数的
问题内容: 这里的正确语法是什么? 我试过了: 问题答案: 您可以在中将其用作字符串替换参数:
问题内容: 我有一个pyspark数据框为 并且需要按行连接患者姓名,以便获得如下输出: 有人可以帮我有关在pyspark中创建此数据框吗? 提前致谢。 问题答案: 我能想到的最简单的方法是使用
我想使用PowerShell生成命令列表,将文件从一个位置移动到另一个位置。(我确信PowerSell确实可以移动,但我想先看看命令列表……是的,我知道)。 文件位于下一层的一系列子文件夹中,需要移动到另一台主机上相应的一系列子文件夹中。子文件夹具有8位标识符。我需要一系列命令,比如 该文件需要进入相应的8位标识符文件夹的\导入子目录。 下面的PowerShell将生成我需要的数据 但我一直在研究
在Perl中,使用Moo,可以围绕sub实现sub,它将围绕类中的其他方法。 如何在Raku中实现这种行为,最好使用角色?