gpt4 book ai didi

perl - 在 Perl 中,如何确保从同一对象的方法中调用 sub 作为方法?

转载 作者:行者123 更新时间:2023-12-01 16:39:13 26 4
gpt4 key购买 nike

我有一个类,它有一个新方法并使用该对象调用方法 X。当我从对象调用 X 时,参数的第一个值是 $self,其余是我发送的值。现在当我从对象的另一个方法调用相同的方法,第一个值不再是 $self,它只是发送的值。我该如何解决这种情况?

示例:

my $p = TEST->new;
$p->mymethod(1,2,3); # @_ = 'self, 1, 2, 3'

但是如果在'mymethod'中被另一个方法调用:

sub anothermethod{
my ($self, $a) = @_;
mymethod(1,2,3); # @_ = '1,2,3'
}

如何编写“mymethod”以便它处​​理这两种情况?还是我从根本上做错了什么?

最佳答案

就像你这样做一样:

$p->mymethod(1,2,3);

您需要明确说明调用方法的对象(即使是在类中):

$self->mymethod(1,2,3);

关于perl - 在 Perl 中,如何确保从同一对象的方法中调用 sub 作为方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728417/

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