是否存在一個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
你是什麼意思的「包含整數」? – 2012-04-26 11:42:22
'「不成熟的優化是一切罪惡的根源」 - Donald Knuth – Reactormonk 2012-04-27 08:28:06