特異メソッド?を使った処理がうまくいきません
hashを作成して、特異メソッド内で、利用しようとすると
: undefined local variable or method `check' for main:Object (NameError)
というエラーが出てしまいます。
hashを特異メソッド内で使う方法または、他の手段はないですか?
class Book
initialize(name,volume)
@name=name
@volume=volume
end
attr_accessor :name,volume
def to_s
"#{@name},#{@volume}"
end
end
require "csv"
book=CSV.table('book.csv',encoding:'Shift_JIS:UTF-8')
books=hash.new
data=book[:name].length
for i in 0..data-1 do
books["#{book[:name][i]}"]=Book.new("#{book[:name][i]}","#{book[:volume][i]}")
end
def check(a)
puts books["a"].name
end
check(辞書)
特異メソッドと書いてますが、どれのことを言っているつもりですか?