第15回 map
さて、今まで「無名シリーズ」を見てきた訳ですが、
今回は、for以外に、配列全体を処理することができる map というものについて見ていきたいと思います。
まず、次のソースを実行してみましょう。
use strict; use Data::Dumper; my @array = 1..3; my @plus_ones = map{ $_ + 1 } @array; print Dumper \@plus_ones;
結果:
$VAR1 = [ 2, 3, 4 ];
なにが起こったかおわかりでしょうか? Rubyにもmapがありますので、Ruby使いの方はもうわかっておられると思いますが、
@plus_ones に @arrayの全要素に対して、+1されたものが入りました。
この動きを絵で表現すると、こんな感じになります。
それでは、for文とmapの違いはなんなのでしょうか?
それは、こちらに昔、書いてあります。
さて、mapの使い方を見てきたわけですが、
実は、今回のお話は、無名関数をもっと理解する為の伏線です。
それでは、また次回おあいしましょう〜