駱駝書里說“perl會自動將參數列表轉化為@_”,而beginning perl for bioinformatics說beware the common mistake of forgetting the @_ array when naming your arguments in a subroutine
2 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
這里的意思是, 雖然你的 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 關注
- 685 瀏覽
添加回答
舉報
0/150
提交
取消