すぐわかる オブジェクト指向 Perl 第6章 、第7章
第6章 ライブラリを取り込むrequire
なるほど
- リストの要素である、数字の重複を排除する、というサブルーチン uniq
my @arr = ( 5, 4, 7, 4, 5, 7, 4, 3 ); sub uniq { my @in = @_; my %out = (); foreach my $in (@in) { $out{$in} = 1; } my @return = keys %out; } print uniq(@arr); #4375
- 配列をハッシュの key にして、その値に固定値で1を入力する。
- よくある
- でも、プログラムを学ぶ前だと分からなかったと思う。
- 準備された uniq 関数を使う事は出来ても、それを自分で実装できたかどうか・・・自信ない
「なんでもかまわない時は1」というのは Perl 仲間の間で、ゆるやかな合意として成立しているので、他の人がリストを読んだとき「ああ何でもかまわないから1を入れたんだな」とわかります
- この「1」ってのは、モジュール作ったときに最後に入れる「1」と同じなんかな?
- おいおい出てくるだろう
ライブラリ
次に arrUtil というライブラリを作っていきます。ここでライブラリ(library)とはサブルーチンを集めて色々なプログラムで呼び出せるようにするファイルの事です
- ライブラリの説明って以外と無かった気がする。
- もちろん、うちが覚えていないだけの可能性大
小ワザ
print join "\n" , @INC;
- ライブラリがおいてあるフォルダを表示するものなんだけど、なるほど、
join
をこうやって使うのか、と。- うちだったら、配列だから
foreach
つかって〜・・・ってなってたと思う。迂遠
- うちだったら、配列だから
- そして
@INC
の中に、.
があるから、カレントディレクトリ内のファイルもライブラリとして実行できるんね