有馬です。

Nakamura Akifumi <BXQ04723 / nifty.ne.jp> wrote

| > UNIXの伝統ですねえ。Integer()を使ってください。

Integer() への不満は、method chain の記述が乱れることです。
また、Integer "" が ArgumentError にならずに 0 になるのも気に入りません。

| …という意味かと読みました>有馬さんの文

解釈ご苦労様です。というか、わかりにくいですかねぇ。すみません。
"0を表す文字列だった" ことと "変換できなかった" ことを区別したいのが主題です。
言葉通り、他の条件で求められなかったときの default value のつもりなんですけどね。

  print gets.to_i("bad input")

  st = gets.to_i  rescue st = "bad input"
  print st

--
 有馬 康弘 <fit0298 / fitec.co.jp>