perl – sub foo使用的语法是什么:method {shift-> bar(@_)}
sub foo : method { shift->bar(@_) } 什么:方法在这里意味着什么? 我从来没用过这种方式…… 解决方法
:方法是
function attribute描述.如此标记的子程序不会触发“不明确的调用解析为CORE ::%s”警告.
从ysth的评论:
更新 调用foo时,此代码只调用方法栏: sub foo : method { ## Mark function as method shift->bar(@_) ## Pass all parameters to bar method of same object } 更多细节: >:method – 表示引用的子例程是一个方法.如此标记的子程序不会触发“不明确的调用解析为CORE ::%s”警告. 你可以这样读: sub foo : method { my ($self) = shift @_; return $self->bar(@_); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |