骆驼书里说“perl会自动将参数列表转化为@_”,而beginning perl for bioinformatics说beware the common mistake of forgetting the @_ array when naming your arguments in a subroutine
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
这里的意思是, 虽然你的 arguments ( 参数 )会自动装在 @_ 里, 但你还是要小心存取.
sub analyst {
my ( $dna, $protien, $gene ) ;
...
}
这样并不会将 @_ 里的值赋予$dna, $protien, $gene.
你得写成 :
my ( $dna, $protien, $gene ) = @_;
同理,
sub analyst {
my ( $dna, $protien, $gene ) ;
( $dna ) = @_;
}
如果只有这样, 那麼只有第一个参数 (即 $_[0] )才会赋但给 $dna ,
其他 $_[1], $_[2] 都会被忽略
- 2 回答
- 0 关注
- 437 浏览
添加回答
举报
0/150
提交
取消