相关疑难解决方法(0)

使用"for"对变量进行局部化显然很糟糕.为什么?

所以我回答了一个关于SO的问题,并为此得到了很多抨击.我已经使用Perl很多年了,并且非常多地使用这个主题.

所以让我们从一些代码开始吧.我在这些例子中进行搜索和替换.我们的想法是搜索onethree从两个字符串中搜索并替换它们.

$values = 'one two three four five';
$value2 = 'one 2 three four 5';

$values =~ s/one//g;
$values =~ s/three//g;

$values2 =~ s/one//g;
$values2 =~ s/three//g;
Run Code Online (Sandbox Code Playgroud)

这段代码很简单,每个人都接受它.

我还可以构建一个数组或散列,其中包含要搜索和替换的值列表,这也是可以接受的.

但是,当我构建一个脚本来进行话题化$values$values2减少构建脚本的键入量时,它似乎被误解了?

这是代码.

$values = 'one two three four five';
$value2 = 'one 2 three four 5';

for ( $values, $values2 ) {
    s/one//g;
    s/three//g;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码将讨论for块的持续时间的变量,但许多程序员反对这一点.我想明白为什么这是不可接受的?

perl scalar

2
推荐指数
1
解决办法
113
查看次数

标签 统计

perl ×1

scalar ×1