まあそうなんだけど、1万くらいの要素をもった配列から 'str!' と同一なものが含まれるかどうかを返す
array_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