gpt4 book ai didi

raku - Perl 6 : trans(%h) vs trans(%h. 键 => %h.values)

转载 作者:行者123 更新时间:2023-12-01 06:19:57 25 4
gpt4 key购买 nike

关于 hash 作为 trans 参数的另一个问题。在下面的代码中,简单地使用 hash 会给出不正确的结果,但是将其替换为 keysvalues 会使其正确。怎么了?

my @alph1 = <a+ b+ c+ d+ e+ f+>;
my @alph2 = <A_ B_ C_ D_ E_ F_>;
my %h;
%h{ @alph1 } = @alph2;

my $str = 'a+bc de+f';

my $text = $str.trans(%h);
say $text; # A_BC DE_F (incorrect)

$text = $str.trans(%h.keys => %h.values);
say $text; # A_bc dE_f (correct)

最佳答案

我认为您误解了 .trans 的作用。您指定要更改为其他字符字符 范围。您没有指定要更改为另一个字符串字符串

所以答案 A_BC DE_F 正确答案,因为 aA 代替了,+替换为_b替换为Bc为替换为C

也许我们应该引入一个 .subst 版本,它采用匹配器和替换的 Hash。同时,您可能必须创建一个循环来遍历散列的键/值并调用 .subst。 ( https://docs.raku.org/routine/subst )

关于raku - Perl 6 : trans(%h) vs trans(%h. 键 => %h.values),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46704407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com