に変換する文字列とデフォルト値をとり、文字列が整数を表す場合は整数に変換するRubyメソッドがありますか?そうでない場合はデフォルト値を返します。Rubyの文字列をデフォルト値の
更新 私は、次の答えは望ましいと思う:ここ
class String
def try_to_i(default = nil)
/^\d+$/ === self ? to_i : default
end
end
は、あなたが例外を回避すべき理由証拠です:
> def time; t = Time.now; yield; Time.now - t end
> time { 1000000.times { |i| ('_' << i.to_s) =~ /\d+/ } }
=> 1.3491532
> time { 1000000.times { |i| Integer.new('_' << i.to_s) rescue nil } }
=> 27.190596426
「整数を含む」とはどういう意味ですか? –
'"早すぎる最適化はすべての悪の根源です " - Donald Knuth – Reactormonk