2011-07-24 81 views

回答

14

==只能測量兩個物體是否相等,而<=>應該返回-1,如果第一個物體較小,如果它們相等則返回0,如果第一個物體較大,則返回1。

如果你定義爲你的類<=>方法,你會得到所有定義以及其他比較操作符(==<>,等等)。

+3

啊,所以<=>就像Java的compareTo()方法? –

+0

@devoured yep,正好 –

2

==就像是Java的equals,而<=>就像compareTo==比較兩個對象並返回它們是否相等。 a <=> b比較兩個對象,如果a較大,則返回1;如果它們相同,則返回0;如果b較大,則返回-1

3

不能說我不是要推銷自己,但我寫的比較和平等的運營商在紅寶石全長教程:"Ruby Basics – Equality operators in Ruby"

在那裏你可以看到所有的平等運營商之間的差異,包括< =>,==和===(以及實現它們的含義,包括哈希方法實現)。

+0

我剛剛讀到那個網站:P –

相關問題