以下の条件を満たすコードを記述する問題。
・Bookクラスを作成する
・Bookクラスは@titleと@priceをプロパティとして持っている
・attr_readerを使用する
・Bookクラスのインスタンスを作成する(タイトル、価格は任意)
・作成したインスタンスから、タイトルと価格を取得し画面に表示させる。
以下、模範解答
class Book
attr_reader :title, :price
def initialize(title, price)
@title = title
@price = price
end
end
book = Book.new("プロを目指す人のRuby入門", 3218)
puts book.title
puts "#{book.price}円"
以下、解説
まず、attr_readerメソッドとはインスタンス変数を呼び出すメソッドを定義するメソッドである。主に記述する量を減らすために使われるとの事。
attr_readerを使用しないコードだと
class Book
def initialize(title, price)
@title = title
@price = price
end
def title
@title
end
def price
@price
end
end
book = Book.new("プロを目指す人のためのRuby入門", 3218)
puts book.title
puts "#{book.price}円"
となる。
attr_reader :title, :priceという記述で、@titleと@priceにアクセスできるようになり、
def title
@title
end
def price
@price
end
の記述が不要となる。