【ruby】attr_readerの使用方法について
rubyのプログラムで以下のようなものを作成するとする ・タイトルと価格を保存して、タイトルを表示させるプログラム 少しわかりにくいので、実際のrubyのコードを見ます。
class Book attr_reader :title, :price def initialize(title, price) @title = title @price = price end end book = Book.new("キングダム", 500) puts book.title # 結果 キングダム
今回テーマにしたいのが「attr_reader」についてです。
結論からいうとクラス外でインスタンス変数を読み出すことができるメソッドです
では同じプログラムから「attr_reader」を消すとどうなるか?
以下のようなエラーが出ます。
#`<main>': undefined method `title' for #<Book:0x00007fadfb035a10 @title="キングダム", @price=500> (NoMethodError)
titleが設定されていないという旨がでますね。簡単にいうと@titleが読み込めてないの
当然titleも読み込めないので表示されていないということになります。
まだ完璧に理解できていないので、こういった使い方をすると理解しておきます。