gpt4 book ai didi

perl - 总是使用我的;从不使用本地?

转载 作者:行者123 更新时间:2023-12-04 04:46:39 25 4
gpt4 key购买 nike

实现动态范围,我使用的是 local .然后我遇到了 this 帖子,内容如下:

Why have local at all? The answer is 90% history. Early versions of Perl only had global variables. local was very easy to implement, and was added to Perl 4 as a partial solution to the local variable problem.



...永远不要使用本地。

它的使用是被弃用还是不鼓励?如果是,替代方案是什么?

最佳答案

您链接的帖子具有误导性,或者至少是不完整的。确实,您永远不应该使用 local创建一个词法变量。事实并非如此,这就是 my是为了。

但是,您应该使用 local当您需要其实际功能时:为全局变量提供临时值。这最常用于临时设置 Perl 的特殊变量。一个经典案例是这样的:

{
local $/;
$entire_file = <$filehandle>;
}

为了一次读取整个文件,您需要将记录分隔符设置为未定义。但你只想暂时这样做;因此 local应该使用。

这绝对不气馁。它被认为是好的 Perl 代码。

更新:我看到这篇文章实际上有一个注释,可以证明其“从不使用本地”声明。尽管如此,我认为做出这样一个笼统的声明是具有误导性的。我同意该说明所回应的批评。上面的例子是一个很常见的基本案例,还有其他几个 local 的常见用法。在这方面,以及。

我知道初学者的教程需要保持简单,但简单并不一定意味着不准确。 “现在,不要担心 local ; 只需使用 my ”将同样清晰和简单,但不会误导人们认为永远不应该使用 local 。

关于perl - 总是使用我的;从不使用本地?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14457605/

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