gpt4 book ai didi

perl - 父级和@ISA 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-01 07:19:45 24 4
gpt4 key购买 nike

父级和@ISA 都在做同样的工作,相应地父级和 @ISA 的用途是什么。

package Baz;
use parent qw(Foo Bar);

或者
package Baz;
BEGIN
{
require Foo;
require Bar;
push @ISA, qw(Foo Bar);
}

最佳答案

use parent只是做 require 的简洁方法并将包名推送到 @ISA在一份声明中。它发生在编译时而不是简单的 our @ISA = qw/ Foo Bar /这是在运行时完成的,这意味着您只需对包名称进行一次编码,这样可以减少错误。如果包试图从同名包继承,它也会发出警告,这将是无用的,并可能导致无限的继承循环。

总之,use parent是一种更简洁、更简单的方法来让一切都正确。

关于perl - 父级和@ISA 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16155712/

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