他們的區別是什麼?從Java背景來看,它似乎對我來說< =>與Java的equals()相同,而==用於直接參考比較。這是正確的嗎?<=>和==在Ruby中的區別?
6
A
回答
14
==
只能測量兩個物體是否相等,而<=>
應該返回-1,如果第一個物體較小,如果它們相等則返回0,如果第一個物體較大,則返回1。
如果你定義爲你的類<=>
方法,你會得到所有定義以及其他比較操作符(==
,<
,>
,等等)。
2
==
就像是Java的equals
,而<=>
就像compareTo
。 ==
比較兩個對象並返回它們是否相等。 a <=> b
比較兩個對象,如果a
較大,則返回1;如果它們相同,則返回0;如果b
較大,則返回-1
。
3
不能說我不是要推銷自己,但我寫的比較和平等的運營商在紅寶石全長教程:"Ruby Basics – Equality operators in Ruby"
在那裏你可以看到所有的平等運營商之間的差異,包括< =>,==和===(以及實現它們的含義,包括哈希方法實現)。
+0
我剛剛讀到那個網站:P –
相關問題
- 1. Ruby中+和<<之間的區別
- 2. <%# %>和<%= %>有什麼區別?
- 3. python中的<>和!=有區別嗎?
- 4. 在html5中<article>和<section>有什麼區別
- 5. 在XML中是<element/>和<element></element>之間的區別嗎?
- 6. WSDL中的<types>和<message>之間的區別
- 7. Java中的類<?>和類<Object>之間的區別
- 8. <SomeName()>和VB.NET中的<SomeNameAttribute()>之間的區別
- 9. jsp中的<% ... %>和<%! ... %>有什麼區別
- 10. <foo></foo>和JAXB中的null有什麼區別?
- 11. RSS中的<pubDate>和<lastBuildDate>有什麼區別?
- 12. Java Facelets中的<h:head>和<head>有什麼區別?
- 13. ASP.NET中的<%#Bind(「」)%>和<%#Eval(「」)%>有什麼區別?
- 14. Rails erb中的<% code %>和<%= code %>有什麼區別?
- 15. Symfony在<ModelName> .class.php和<ModelName>之間的區別Table.class.php
- 16. 之間的區別不在和<>或<>
- 17. <%! %>與<% %>之間的區別
- 18. xhtml在<img .... />和<img ...>之間的區別</img>?
- 19. asp.net中<%= %>語法和<%# %>有什麼區別?
- 20. <stdafx.h>和「stdafx.h」之間的區別
- 21. Css <tr> firefox和chrome的區別
- 22. python:!=和<>之間的區別?
- 23. <string>和Kohana的'string'區別
- 24. <s:Line>和graphics.lineTo()之間的區別
- 25. 類和類之間的區別<?>
- 26. #include <...>和#include「...」之間的區別?
- 27. Ruby中的[[]]和[]有什麼區別?</p> <pre><code>@@dataList[i] = [[0,[]]] </code></pre> <p>什麼雙括號做:
- 28. 區別<p>是什麼Javascript和ASP.net有什麼區別?</p>
- 29. 區別:<br/>與<br/> = 20
- 30. 區別</html:html>之間<html:html><html></html>
啊,所以<=>就像Java的compareTo()方法? –
@devoured yep,正好 –