to_iの振舞い

"123".to_i => 123 これは予想通り。
"123xx".to_i => 123 数字として判断できるところまで判断してくれるのか。
"xx123xx".to_i => 0 さすがに前に付いた数字じゃないものはカットしてくれないよね。
nil.to_i => 0 これが例外にならないのは注意!
false.to_i undefined method
`to_i' for
false:FalseClass
これは例外になる
["123", "aaa"].to_i undefined method
`to_i' for
["123", "aaa"]:Array
メソッドのないものに to_iしようとしたらもちろん例外になる