文字列が"1"とか"123"とか数値を表すものかどうかを調べたい時には以下のやり方で調べられます。 # Integer()で変換できれば数値、例外発生したら違う def integer_string?(str) Integer(str) true rescue ArgumentError false end # Float()で変換できれば数値、例外発生したら違う def float_string?(str) Float(str) true rescue ArgumentError false end ちなみに結果は以下のようになります。 str = "あいうえお" str2 = "123" str3 = "3.14" str4 = "12345" # 普通の文字列 integer_string?(str) #=> false # 数値の文字列 integer_string?(str2)
![Ruby Recipe38 数値を表す文字列か調べる - たなかたろーのにっき](https://cdn-ak-scissors.b.st-hatena.com/image/square/a071b735f82f2828c1bf1798d1d014174c881347/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F413L9xSXxvL.jpg)