【发布时间】:2011-01-13 18:40:10
【问题描述】:
我赞同变量不应该在你将要使用它们之前被初始化的想法。如果变量是由将使用它的代码来表示的,那么它会更容易记住变量的含义,并且减少了变量在初始化和正确使用之间被误用的机会。
当该变量的使用在一两个循环内时,问题就出现了。然后,初始化成本会成倍增加,并可能开始影响性能。
在 Perl 中(或一般情况下,适当时),它们是否有任何巧妙的小技巧可以让您将变量的初始化放在循环中,但只在第一次通过时才被初始化?
我想过这样的事情:
my $variable = undef;
while ($outer_loop) {
while ($inner_loop) {
$variable = $variable || 'initial_value'
}
}
注意:这意味着$variable 不会在循环内重新分配。
现在也许是我,但这似乎有点不雅。
所以,我的问题是:有没有更简洁的方法来做到这一点,还是我只需要克服自己并在代码组织上妥协,或者接受上面那个“不优雅”的解决方案?
【问题讨论】:
标签: perl performance code-organization