Rubyで文字列を数値にするときにnilを返したい


rubyで文字列を数値に変換する際、"100".to_i でやるかと思います。

"100a".to_iなど数値じゃない場合は、そこまでを変換し、  
もしくは"aa".to_iは0を返却する仕様かと思います。

そこを文字が含まれている場合はnilを返すようなメソッドを作りたいと思っています。

下記、コードのようにrescueで拾ってやると簡単にできそうですが、  
rescueを使わない方法はないでしょうか？あまりにもイケてないコードですので。。。

[code]

    Integer("aa") rescue nil
    
[/code]




rescueを使わない方法は無理に考えればなにかあるかもしれませんが、

[code]

    Integer(str) rescue nil
    
[/code]

はRubyを読み書きできる人ほとんど全員に明確に意図が通じる明瞭簡潔なコードなので、余計なことはしないほうがいいです。

公式リファレンスの[Time.parse](http://docs.ruby-
lang.org/ja/2.2.0/method/Time/s/parse.html)にも使用例があるように、後置rescueはこのような場合の一般的な使用法です。

