0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ruby 練習問題43 (アウトプット用)

Posted at

以下の条件を満たすコードを記述する問題。

・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

の記述が不要となる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?