Ruby中的類和類型方法有什麼區別?我注意到這種類型可以找到某些類的類型,但不是其他類。Ruby中的類()與type()相比
40
A
回答
48
的關鍵區別在於Object#type
已被棄用。來自RDoc的對象#類型:
已棄用的Object#類的同義詞。
這也是爲什麼你應該使用Object#class
:
返回該類obj的,現在 優於對象#類型,作爲 對象在Ruby的類型只是鬆散 綁到該對象上課。這個 方法必須總是用 顯式接收器調用,因爲類也是Ruby中的保留字 。
實際上,您可能希望使用Object#respond_to?
而不是在大多數情況下檢查對象的類。
15
#type
是#class
的同義詞,但它在ruby 1.8中不推薦使用,顯然已經從ruby 1.9中消失了。隨處可以使用#class
。
# For ruby 1.8 $ ri Object#type ------------------------------------------------------------ Object#type obj.type => class ------------------------------------------------------------------------ Deprecated synonym for Object#class. # For ruby 1.9 $ ri1.9 Object#type Nothing known about Object#type
相關問題
- 1. Ruby中的塊與Smalltalk相比
- 2. Groovy中Open類的範圍與Ruby中的MOP的對比
- 3. 與Ruby相比,在String中使用StringIO有什麼優勢?
- 4. 正則表達式在Ruby中與JavaScript相比表現不佳
- 5. Ruby:類中的嵌套類與嵌套類中的嵌套相同?
- 6. 找。 -type f in ruby
- 7. Ruby中的NoMethodError與比較聲明
- 8. True Type與Open Type
- 9. 是否有與Ruby ruby相當的CoffeeScript?
- 10. Ruby的for循環如何工作(與Python相比)?
- 11. 與Ruby相減的日期
- 12. 與portlet相比,spring的mvc與iframes相比?
- 13. 創建一個與Date類相媲美的Ruby類
- 14. Ruby比較運算符? ==與===
- 15. 的Movable Type 4比5
- 16. FogBugz與OnTime相比
- 17. CakePHP與Joomla相比
- 18. ReactFX與鈉相比
- 19. Drupal7與Drupal6相比?
- 20. C++中與Java泛型相比的自定義類型排序
- 21. 將C++中的兩個向量與模板類相比較
- 22. pymssql與pyodbc與adodbapi相比...
- 23. 與C#相比,Ruby會突出哪些語言特性?
- 24. Proto2與C#中的Proto3相比較
- 25. 與C++相比,Javascript中的按位XOR
- 26. Eval與ASP中的DataField相比:Datagrid
- 27. 與Qt相比,Lua與QtScript相比有多容易?
- 28. 與PHP相比,Python進程,線程與虛擬主機相比
- 29. $ PROGRAM_NAME與$ ruby相同嗎?
- 30. Mono與bool的兼容性Type.op_Equality(Type,Type)
如果它是一個同義詞,爲什麼我會在我定義自己的類上調用類型時遇到未定義的方法錯誤?但是當我爲同一個類調用類方法時,不會發生同樣的事情。未定義的方法錯誤聽起來不像你會得到一個棄用的方法。 – 2009-05-06 19:48:53
你在Ruby 1.9上嗎?在紅寶石1.8我沒有得到一個錯誤,只是一個關於棄用的警告。 – kch 2009-05-06 19:50:56