[#40785] nil以外のときメソッドを呼ぶ — Motomichi Matsuzaki <mzaki@...>

13 messages 2005/04/27

[ruby-list:40790] Re: nil以外のときメソッドを呼ぶ

From: rubikitch <rubikitch@...>
Date: 2005-04-27 05:45:02 UTC
List: ruby-list #40790
From: rubikitch <rubikitch@ruby-lang.org>
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大衆化計画@移転

In This Thread