gpt4 book ai didi

perl - 我怎样才能打这个 Perl 子程序来做替换?

转载 作者:行者123 更新时间:2023-12-03 18:15:24 27 4
gpt4 key购买 nike

我在 Perl 中有以下子例程来用“abc”替换字符串中的“xyz”:

sub mySubst {
my ($str) = @_;
$str =~ s|abc|xyz|ig;
return $str;
}

它可以工作,但对于 Perl 来说似乎太冗长了。我怎样才能把它收紧?

最佳答案

你所拥有的很好。

  • 您使用列表赋值从@_ 变量中提取参数,制作副本。列表赋值是一种很好的方法(基本上是标准方法)。使用 shift也可以,但更改@_(可能是也可能不是你想要的。)There's a discussion on PerlMonks about shift vs @_您可能会感兴趣。
  • 您在搜索和替换中使用命名变量。在这种情况下,我更喜欢命名变量,因为要小心处理 Perl 的魔法变量。
  • 自动处理 $_ 是可能的,但是没有自动填充 $_ 会使正确处理变得更加棘手。你需要做local $_ = shift;local ($_) = @_;这不会增加太多。)
  • 我喜欢人们使用明确的 return .这是一个温暖的模糊。
  • K&R 括号。好的。 :)
  • 没有原型(prototype)。很好。 :)

  • 随它去吧。我认为你在正确的轨道上。

    关于perl - 我怎样才能打这个 Perl 子程序来做替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267312/

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