私はYAMLファイルを持っていますbooks.yaml
:
- !ruby.object:Book
title: Ruby for Newbz
author: LeeRoy Jenkins
category: Educational
このファイルに書籍を追加する方法は既にありますが、正規表現を使用して YAML ファイルを検索できる方法が必要です。タイトルに一致する本がない場合は、例外を発生させる必要がありますNoBookfound
。一致するものがあれば、そのリストを呼び出し元に返す必要があります。
これが私の既存のコードです:
require 'yaml'
require './book'
class Library
attr_accessor :books
def initialize file_name = false
@books = file_name ? YAML::load(File.read(file_name)) : []
end
def add_book(book)
@books.push(book)
end
def search_library(file_name , book)
if
YAML::load(File.read(file_name)).include?(book) == false
raise 'No Book Found'
end
end
end
これは私が例外部分のために試したことですが、私はかなり外れているように感じます. 私はRubyに本当に慣れていないので、これはかなり難しい作業のようです。誰にもアイデアはありますか?