「Rubyがミニツク」という学習サイトの演習問題1の解答が下記のコードとなっているのですが、<<(book)メソッドとなっているところがわかりません。
Arrayクラスの<<メソッドが関係しているのでしょうか?
この「<<()」メソッドにより "Bookオブジェクトを作るたびにLIBRARYへの関連を作る処理" と "Libraryクラス側では、Bookオブジェクトを受け取って登録する処理" が用意されると解説に書かれているのですがよく分かりません。
<<(book)メソッドによりBookクラスとLibraryクラスが結びつくのですか?
どなた教えてください。お願いします。
サイトのURLです。
リンク内容
コード例
ruby
1class Library 2 def initialize 3 @books = [] 4 end 5 6 def <<(book) 7 @books << book 8 end 9 10 def to_s 11 puts "Library contents:" 12 @books.join("\n") 13 end 14end 15 16class Book 17 attr_accessor :author, :title 18 def initialize(args) 19 @author = args[:author] 20 @title = args[:title] 21 args[:library] << self 22 end 23 24 def to_s 25 "Title: " + @title + ", Author: " + @author 26 end 27 28my_library = Library.new 29Book.new(:author => "Herman Melville", :title => "Moby-Dick", :library => my_library) 30Book.new(:author => "Hans Christian Andersen", :title => "The Ugly Duckling", :library => my_library) 31puts my_library
出力例
Library contents:
Title: Moby-Dick, Author: Herman Melville
Title: The Ugly Duckling, Author: Hans Christian Andersen
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/17 05:18
2019/01/17 06:32
2019/01/18 01:10
2019/01/18 01:22