初学Ruby对ruby中的<=>符号有些疑惑

初学ruby
在看到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 #.......这个错误呢?
刚开始学,可能很多是概念上的错误,希望能帮我解答一下,谢谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值