初学ruby
在看到ruby的<=>这个运算符的调用上有些疑惑,希望各位能解答一下
上面的<=>应该是定义的方法名吧,我理解的other这个参数是Person类的另一个实例化对象吧
但是我自己定义了两个实例化对象test1和test2
调用test1的<=>方法并把test2这个实例化对象传进去,为什么程序总报<=>:undefine method 'age'
for #.......这个错误呢?
刚开始学,可能很多是概念上的错误,希望能帮我解答一下,谢谢
在看到ruby的<=>这个运算符的调用上有些疑惑,希望各位能解答一下
class Person
def initialize(name,age)
@name = name
@age = age
end
def <=>(other)
self.age <=> other.age
end
end
test1 = Person.new("test1", 20)
test2 = Person.new("test2", 18)
test1.<=>(test2)
上面的<=>应该是定义的方法名吧,我理解的other这个参数是Person类的另一个实例化对象吧
但是我自己定义了两个实例化对象test1和test2
调用test1的<=>方法并把test2这个实例化对象传进去,为什么程序总报<=>:undefine method 'age'
for #.......这个错误呢?
刚开始学,可能很多是概念上的错误,希望能帮我解答一下,谢谢