From: rubikitch Date: 2005-04-27T14:45:02+09:00 Subject: [ruby-list:40790] Re: nil以外のときメソッドを呼ぶ From: rubikitch Subject: [ruby-list:40788] Re: nil以外のときメソッドを呼ぶ Date: Wed, 27 Apr 2005 14:25:38 +0900 > splitされたそれぞれの文字列において、 > CONVERTERで指定したメソッドを順次呼出します。 strip_XXもクラスに閉じ込められるのでこっちの方がいいかな。 class TextData < Struct.new(:float, :int, :str) CONVERTER = [:Float, :Integer, :strip_XX] def self.[](input) obj = new input.chomp.split(/\t/).each_with_index do |x, i| obj[i] = (x && __send__(CONVERTER[i],x)) end obj end def self.strip_XX(s) s.sub(/^XX/, '') end end p TextData[ "1\t2\t3" ] p TextData[ "1.0\t2\t"] p TextData[ "1\t2\tXXfoo" ] るびきち☆ http://www.rubyist.net/~rubikitch/ ←Ruby大衆化計画@移転