Ruby 初心者スレッド Part 38
■ このスレッドは過去ログ倉庫に格納されています
0604デフォルトの名無しさん
2010/09/30(木) 05:47:12array_10000elements.find{|s| s == 'str!'}
を
target = 'str!'
array_10000elements.find{|s| s == target}
とするあたりは「名前を付けるリファクタリング」の範疇で推奨だとしても
def search(s)
s == 'str!'
end
array_10000elements.find{|s| search(s)}
とメソッドに吐出ししたときにさらに
TARGET = 'str!'
def search(s)
s == TARGET
end
array_10000elements.find{|s| search(s)}
と定数にするようなことがどれだけ正義なのかについては結構議論の余地が
ちなみに #{...} での変数埋め込みがない「静的」な正規表現については
Ruby が勝手に同一オブジェクトを使い回してくれます
irb> 3.times{|x| p /re!/.object_id}
-608271818
-608271818
-608271818
文字列でもやってくれたらよかったのに
irb> 3.times{|x| p "str!".object_id}
-608279388
-608279408
-608279428
■ このスレッドは過去ログ倉庫に格納されています