トップ «前の日記(2009-03-04) 最新 次の日記(2009-03-09)» 編集

2009-03-05 [長年日記]

_ Ruby の map がなぜ好きになったか

inject 厨ではないのでそこは無視。

以前は

vars = []
arr.each { |e|
  vars.push( なんらかの処理 )
}

みたいな形で新しい配列を作るのが自分的には当たり前だった。でも今は多くの場合で

vars = arr.map { |e|
  なんらかの処理
}

で書くようになってきている。これがなぜ好きかということを説明していて、ブロックの中の変数が減って*1好き、と言っていたんだけど、

なんか違う気がしてきた。

each はブロックの中と外で同じ変数をいじる、つまり副作用を基本にした処理なのがイヤなんだ。なるほど、そういう感覚になるんだな、これ。

……。副作用って言葉の使い方が合ってるかどうかは分かってません。ツッコミ待ってます。

ちなみに PHP の場合、メリットが分かっても array_map() はどうしても好きになれません。

Tags: Ruby

*1 この場合は vars がなくなる

_ Google の sitemaps 生成ツール

sitemap-generators - Google Code

Python 製。基本的にはサーバ上でダイレクトに実行することを想定しているが、URL リストを作成して手元の環境でも動作させることができる。更新 ping を送ろうとしていたので慌てて止めた。

できる sitemaps XML が Google 以外でも解釈してくれるのかどうかはよく分からない。

使い方はヘルプとか README とか読めば分かると思う。分かるまで読め。