http://www.hatena.ne.jp/1059225082
$_とか@_ってどういう意味をするのですか? - 人力検索はてな
URLはダミーです。
恐らくPerlの話だと思いますが、いずれもシステム的に予約された変数です。明示的に変数を指定しない場合、前者は主にループを制御する変数として、後者は主にサブルーチンで引数を受けとる配列として使われます。
perlという言語では$_は変数の省略時に、
@_はサブルーチンへの引数に使用されます。
Perlでは$は変数(値を一時的に格納しておく箱みたいなものだと思ってください)、@は配列(変数をいくつも入れられる箱だと思ってください)を表します。
そして変数名が省略されて使われるとき、$や@に_が付きます。
詳しくはURLを参照して下さい。$_の例しかありませんが、@_も考え方は同じです。
特殊変数$_には読み込んだ行が入るようになっています。
特殊変数@_には渡された値のリファレンスになっています。
ですから@_の値を変化させると引数として指定された変数の値も変更されることになります。
perlには省略の美学というものがあり、$_は変数を省略する時に@_はサブルーチンの因数の時に使われます。
コメント(0件)