クラス自体に特定の機能を持たせるには、クラスメソッドを作ります。クラスメソッドは、クラス名.メソッド名 のように呼び出します。
railsでは、データベースのテーブル全体を対象にするメソッドをクラスメソッドとして用意しています。
それでは、例を見てみましょう。
class Robot def initialize(name, x, y) @name = name @x = x; @y = y end def to_s "#{@name}: #{@x},#{@y}" end def self.load(fname) robots = [] File.open(fname, encoding: "utf-8") do |f| f.each_line do |line| cols = line.chomp.split(/\t/) robots << new(cols[0], cols[1].to_i, cols[2].to_i) end end robots end end robots = Robot.load("test.txt") robots.each{|robo| puts robo }
test.txt
ロボ1号 83 14 ロボ2号 5 51 ロボ3号 78 66
コマンド
C:\rails>ruby test.rb ロボ1号: 83,14 ロボ2号: 5,51 ロボ3号: 78,66