5月31日進捗
前回に引き続き同じ課題をやっている。
ネットを使いいろいろと調べながらやっていたが、解決できないエラーが出たので初めてTeratailを使って質問をした。https://teratail.com/questions/266467?modal=q-comp
質問の仕方が難しい。怒られそうで怖いが先に進めないのは困るので返信を待つ。
やはり基本的なことがわかっていないと難しいことが多いのでProgate に1月登録することにした。復習って大事だなぁと思った。ぼんやり理解していたことがはっきりわかる。何となくで書いているコードの内容がわかるのでとても良い。とりあえず演習と並行してやっていくことにする。一応記録のために載せておく。あとで見返して原因がわかるようになります。
def searchBookInfo
print "\n"
#print 'キー'
#print gets.chomp
print '書籍名:'
print '著者名:'
print 'ページ数:'
book_info.page = gets.chomp.to_i
print '発刊年:'
year = gets.chomp.to_i
print '発刊月:'
month = gets.chomp.to_i
print '発刊日:'
day = gets.chomp.to_i
book_info.publish_date = Date.new(year, month, day)
@book_infos[key] = book_info
search = book_info
@book_infos.each do |key, info|
search_flag = 1 # 検索条件と一致しているか
input_check = 0 # 検索条件が未入力か
if search.title != ''
search_flag = 0 if search.title =~ /[^"#{info.title}"]/
else
input_check += 1
end
if search.author != ''
search_flag = 0 if search.author != info.author
else
input_check += 1
end
if search.page != 0
search_flag = 0 if search.page != info.page
else
input_check += 1
end
search_flag = 0 if search.pdate != info.pdate
else
input_check += 1
end
# 比較が全て一致した蔵書データをハッシュに格納する
# 検索条件が全て未入力の場合は格納しない
found_book[key] = info if search_flag == 1 && input_check < 4
end
puts "\n------------------------------"
if !found_book.empty?
# 比較が全て一致した蔵書データを表示する
found_book.each do |info|
print info.toFormattedString
puts "\n------------------------------"
end
else
print '条件に一致する蔵書はありません'
puts "\n------------------------------"
end
end