的参数默认为空哈希attrs={}
返回一个错误:空哈希作为默认参数变成数组?
can't convert Array into Hash
(TypeError)
我已经试过这对Ruby版本1.8.6,1.8.7和1.9.1。散列将被传递给attrs
。
class Category < Object
attr_accessor :attributes
attr_accessor :rel_attrs
attr_accessor :cls_str
def initialize (term='',title='', attrs={}, scheme = '', rel=[], cls_str='')
@attributes ={}
@attributes['scheme'] = scheme
@attributes['term'] = term
@attributes['title'] = title
@attributes['related'] = rel
@cls_str = cls_str
if not attrs.empty?
@attributes.update attrs
end
end
end
我在做什么错?
你是如何调用initialize方法的,或者你在创建Category实例时传递了哪些参数? – 2011-04-19 08:26:46
显示文件名和发生错误的位置。 – sawa 2011-04-19 13:36:44