Ruby <=> 这个符号是什么意思?

xiaoronglv · 2012年04月22日 · 最后由 fsword 回复于 2012年04月23日 · 10222 次阅读

书上对<=>这个符号无详细的解释,google 上无法搜索符号。

请问这个符号是什么意思?应用到哪些地方?

一个方法而已,如果用过 Java,类似 compareTo

1.9.3p125 :001 > 1 <=> 2
 => -1 
1.9.3p125 :002 > 1 <=> 1
 => 0 
1.9.3p125 :003 > 2 <=> 1
 => 1 

一个完整的例子:

#!/usr/bin/ruby -w

h = Hash.new
h['size'] = 'big'
h['color'] = 'red'
h['brand'] = 'ford'

ak = h.sort{|a,b| a[0] <=> b[0]}
ak.each do
    |pair|
    print pair[0]
    print "=>"
    print pair[1]
    puts
end

#=>
brand=>ford
color=>red
size=>big

@xiaoronglv 这种谷歌收不到,你可以在 rdoc.info 里搜。 http://rdoc.info/search/stdlib/core/1.9.3?q=%3C%3D%3E

这个符号叫“太空船”哦~

可以 google 一下,搜索关键词:ruby, 比较运算符

需要 登录 后方可回复, 如果你还没有账号请 注册新账号