我们知道Perl中的constant
只是sub
,
但为什么他们没有继承?
答案 0 :(得分:10)
事实上,它们是:
use strict; use warnings;
package Father;
use constant CONST => 1;
package Child;
use base 'Father';
sub new { bless {}, shift }
package main;
my $c = Child->new;
print $c->CONST; # 1
print CONST(); # undefined subroutine
答案 1 :(得分:2)
方法是继承的,函数不是。如果你想继承常量,你需要像方法一样调用它。
$self->FOO
或
__PACAKAGE__->FOO
那就是说,你应该导入常量,而不是继承它们。