いまさらですが、Rubyで文字列の先頭一文字を取得するときにみんながどう書いているかが気になります。いつも以下のように思いつくままにいくつかあげてみて、心のなかでモヤモヤ考えたあげく、たいてい4)を選ぶわけですが、これって一般的なんでしょうか。
括弧は心の声です。
1) self[nth]を使う(メソッドがふたつになって微妙…)
"foobar"[0].chr
2) self[first..last]を使う(なんだかかっこわるい)
"foobar"[0..0]
3) self[regexp]を使う(これはまあまあかな。読みづらいけど。)
"foobar"[/^./]
4) self[nth, len]を使う(やっぱりこれがベストな気がするな)
"foobar"[0, 1]
と、いろんな書き方ができるんだれど、その中でもどれが一般的なのかを悩んでしまうシチュエーションって結構あるんですが、そういうのが調べられるサービスとかないんでしょうかね。例えば、コード片で検索すると「こちらのほうが一般的です」みたいな感じで教えてくれたり。
とりあえずモヤモヤしたままなのもアレなので、今回は実験的にGoogle Code Searchで件数を比較して、一番多いやつが一般的ってことにしました。
キーワードにはできるだけ同じような処理をしてるっぽいコード片を選んで、いざ検索。
で、結果は以下の通り。
「lang:ruby “[0, 1] == ‘”」で検索 => 約50件
「lang:ruby “[0..0] == ‘”」で検索 => 約100件
「lang:ruby “[/^./] =='”」で検索 => 0件
「lang:ruby “[0].chr == ‘”」で検索 => 約50件
って、かっこわるいとか思ってたやつが一番多いじゃないですか…。まあまあかな、とか得意げだった正規表現のは0件だし…。
ということで、結果の正当性はわからないけれど、自分のセンスに自信がなくなりましたとさ。
コメント