1 <=> 5 # -1
5 <=> 5 # 0
9 <=> 5 # 1
"1" <=> 5 # nil: 字符串和数字无法比较。
<=> 用于比较已经足够了,但是这个符号看起来不够“直白”。在Ruby的minxin模块中基于<=> 定义了一系列其他的操作符,这样操作符意思更加明确:
- < 小于
- > 大于
- <= 小于等于
- >= 大于等于
- > 大于
- == 等于
如果你所见,这里没有定义!=符号。此外我们还将看到一个方法between?,它用于判断一个对象是否位于两个对象之间:
1.between?(0,10) # true: 0 <= 1 <= 10注意如果你个<=>的比较结果是nil,那么所有基于他的比较都返回false,对象Float他的返回结果是NaN.
No comments:
Post a Comment