私は常に@_[0]
最初のパラメーター@_[1]
を取得し、2 番目のパラメーターを取得するために使用します。しかし、オンラインでコード スニペットを検索すると、多くの人がこのshift
キーワードを好んで使用していることがわかります。shift
キーワードが直感的であるとはまったく思いません。これら2つの間に機能的な違いはありますか?
2189 次
2 に答える
14
はい、2つの間に違いがあります。
shift
変更するか@_
(これはシフトを遅くする操作であると主張できます)
$_[0]
、または$_[1]
単なる割り当てであり、まったく変更されません@_
。
これを書く美的方法は次のとおりです。
sub this_is_better {
my ( $foo, $bar, $hey, $whoa, $doll, $bugs ) = @_;
}
于 2012-09-27T18:19:46.127 に答える
0
ドキュメントに記載されているように、明示的な配列を使用せずに、引数を最初から削除し、残りの要素を先頭に移動することで、サブルーチン内shift
の次のパラメーターをローカルで取得します。@_
于 2012-09-27T18:18:43.650 に答える