Tbpgr Blog

Recruiting Operations tbpgr(てぃーびー) のブログ

Ruby | Module | attr_reader

概要

Module#attr_reader(*name) -> nil

詳細

インスタンス変数読み取り用のインスタンスメソッドを定義する。

つまり

class Person
  attr_reader :name
  def initialize(name)
    @name = name
  end
end

class Person
  def initialize(name)
    @name = name
  end

  def name
    @name
  end
end

と同じです。

サンプルコード
require 'pp'

class Person
  attr_reader :name, :age

  def initialize(name, age)
    @name, @age = name, age
  end
end

person = Person.new('tanaka', 33)
pp person

出力

$ ruby module_attr_reader.rb
#<Person:0x0000060038cfd8 @age=33, @name="tanaka">