[#40753] RWiki is not WikiName - RWiki 2.1.0pre1 — Masatoshi SEKI <m_seki@...>
6 messages
2005/04/03
[#40785] nil以外のときメソッドを呼ぶ — Motomichi Matsuzaki <mzaki@...>
13 messages
2005/04/27
[ruby-list:40787] Re: nil以外のときメソッドを呼ぶ
From:
"H.Shimura" <shimurahiroyuki@...>
Date:
2005-04-27 05:19:25 UTC
List:
ruby-list #40787
Motomichi Matsuzaki様
志村 と申します
In message "[ruby-list:40785] nil以外のときメソッドを呼ぶ", <u64y8u8y9.wl%mzaki@biol.s.u-tokyo.ac.jp>,
Motomichi Matsuzaki wrote...
>タブ区切りテキストで与えられるデータを解釈しようとしているのですが、
> array = line.chomp.split("\t")
> float = array.shift.to_f
> int = array.shift.to_i
> str = array.shift.sub(/^XX/, '')
>対応するフィールドがない場合 float に 0.0 や int に 0 が代入され、
>str なら例外で落ちてしまいます。
>ないフィールドには nil が代入されるための綺麗な解決法はないでしょうか?
float や int も 0 でなく nil が欲しいんですよね?
float = Float(array.shift.to_s) rescue nil
int = Integer(array.shift.to_s) rescue nil
str = array.shift.sub(/^XX/,'') rescue nil
こんなのは如何でしょうか。
* 代入の右辺は () でくくった方が分かり易いです。
* Float の .to_s は要らないかも
* .to_s は String() 方が良かったかな?
* 変換エラーが起きたら全て nil になります。
* float、int に文字列風のがきててもエラーにならないで nil が入る。
ちょっと強引ですね。
---------------------------------------+---------+---------+以上 2005/4/27
志村弘之 mailto: shimurahiroyuki@obun.co.jp