リスト
「Perl大技林」一覧に戻る 配列Aに入っている全ての値を、ハッシュHのキーにしたい。これは一行で解決する。
「Perl大技林」一覧に戻る 配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。 「$#配列名」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$…
「Perl大技林」一覧に戻る 配列Aの内容を配列Bにそのままコピーしたいが、どうすれば良いだろうか? 単純に代入をしてやれば良い。 コピー先の配列に値が入っていた場合でもすべて上書きされてしまうので注意すること。もし配列の前か後ろに挿入したいのなら…
「Perl大技林」一覧に戻る 二つの配列を結合(連結)し、合体させたい。 pushとunshiftはリスト(配列)を渡せるのでそれを利用するのが良い。
「Perl大技林」一覧に戻る リスト(配列)内の数値をすべて合算した値を取得したい。 素直に計算する方法と、モジュールを利用する方法がある。List::Utilは5.8以上から標準モジュールとして用意されている(インストールする必要がない)。最近のPerlを使ってい…
「Perl大技林」一覧に戻る とあるリスト(配列)から最小値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
「Perl大技林」一覧に戻る とあるリスト(配列)から最大値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
「Perl大技林」一覧に戻る 配列の一部だけを簡単に置換してくれる関数がspliceである。 spliceは非常に柔軟であるがために最初はかなりとっつきにくい。その反面、まとめて配列の操作をしたくなった際には心強い味方になってくれる。引数の数によって動作が…
「Perl大技林」一覧に戻る 配列の先頭、または末尾から値を追加するにはpush、unshiftを用いれば良い。 先頭への追加はunshift、最後に追加するのはpushを用いる。
「Perl大技林」一覧に戻る リスト(配列)を逆に並べ替えるお手軽な方法はreverseを用いることだ。
「Perl大技林」一覧に戻る 配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。
「Perl大技林」一覧に戻る 配列(リスト)を順不同に並べ替えたい。 トランプで言う「シャッフル」、アルゴリズム的な用語を使うと「ランダムな順列」に該当する。 次のようなプログラムを記述すれば良い。
「Perl大技林」一覧に戻る 以下のような配列がある時、2番目の項目で並べ替えがしたい。 単純に sort @array しただけではできない。 @array = ( '1,b,c' , '3,c,b' , '2,a,a' ); ソート項目が数値の時にはorderByArrayNum、文字列の時にはorderByArrayStrを…
「Perl大技林」一覧に戻る 以下のようなコードを書くと、文字列として扱われてしまい、意図した結果にならない場合がある。 @array = ( 1, 2, 3, 4, 5, 10, 11, 12 ); foreach(sort @array){ print ; print "\n" }
「Perl大技林」一覧に戻る ※初出の日時が不明のため公開日は仮の日付です あるリストから、希望する条件に一致した値だけを取り出したい場合がある。for,while,foreachなどのループを使う方法以外に、効率の良いやり方が知りたい。