sub _init在Perl解释中
发布时间:2020-12-16 06:29:21 所属栏目:大数据 来源:网络整理
导读:我想知道这个子程序在Perl中做了什么.我相信我有一般的想法,但我想知道一些语法. sub _init { my $self = shift; if (@_) { my %extra = @_; @$self{keys %extra} = values %extra; }} 这就是我认为它的作用:基本上将任何“额外”键值对添加到由变量$self引
我想知道这个子程序在Perl中做了什么.我相信我有一般的想法,但我想知道一些语法.
sub _init { my $self = shift; if (@_) { my %extra = @_; @$self{keys %extra} = values %extra; } } 这就是我认为它的作用:基本上将任何“额外”键值对添加到由变量$self引用的无名哈希中.此外,我不是100%肯定这一点,但我认为我的$self = shift实际上是指调用_init()子程序的变量$self. 我的具体问题是: > $self实际上是指调用子例程_init()的变量吗? 解决方法
你的理解是正确的.这允许类的用户将他们想要的任何参数设置到对象中.
>是的.如果你打电话,例如$myobject-> _init(‘color’,’green’),那么这段代码将设置$myobject-> {‘color’} =’green’. 另一种写这个的方法是: foreach my $key (keys %extra) { $self->{$key} = $extra{$key}; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |