當我進入irb並輸入hash
時,它會返回一些值,如2601657421772335946
,Fixnum
。什麼是hash
用於?什麼是irb中使用的「散列」?
0
A
回答
1
幾乎所有的Ruby響應hash
,包括self
在irb
。從fine Object
manual:
散列()
生成此對象的
Fixnum
散列值。此功能必須具有a.eql?(b)
暗示a.hash == b.hash
的屬性。散列值與Hash類中的
sql?
一起使用,以確定兩個對象是否引用相同的散列鍵。任何超過Fixnum容量的散列值在使用前都會被截斷。在調用或實現ruby時,對象的哈希值可能不相同。如果您需要在Ruby調用和實現中使用穩定的標識符,則需要使用自定義方法生成一個。
Hash
類在內部使用hash
值來計算如何排列哈希鍵。
1
當您登錄到IRB時,self
已被設置爲main
(是類Object
的一個實例)。現在當你寫hash
時,它實際上是self
(這是隱式的)調用的方法Object#hash
。
Arup-iMac:arup$ irb
2.1.0 :001 > self
=> main
2.1.0 :002 > method(:hash).receiver
=> main
2.1.0 :003 > self.class
=> Object
2.1.0 :004 >
從文檔中,爲什麼需要#hash
?
生成此對象的Fixnum散列值。這個函數必須具有a.eql?(b)意味着a.hash == b.hash的屬性。
散列值與eql一起使用?通過Hash類來確定兩個對象是否引用相同的散列鍵。任何超過Fixnum容量的散列值在使用前都會被截斷。
在調用或實現ruby時,對象的哈希值可能不相同。如果您需要在Ruby調用和實現中使用穩定的標識符,則需要使用自定義方法生成一個。
相關問題
- 1. IRB中的散列檢查?
- 2. 什麼是irb --simple-prompt?
- 3. 什麼是密碼/散列?
- 4. 什麼是散列函數?
- 5. 什麼是在一個App_Code.compiled文件中使用的「散列」值?
- 6. mysql使用什麼樣的散列?
- 7. 當我用Md5散列文件什麼是散列?
- 8. 什麼是特定提交散列的樹形散列?
- 9. 爲什麼在IRB
- 10. 類對象的HashSet。什麼是散列?
- 11. 這是什麼樣的散列/加密?
- 12. 這是什麼樣的散列加密?
- 13. 這是什麼樣的散列?
- 14. 這是什麼樣的散列文件?
- 15. 使用IRB時,=>運算符左側的意義是什麼?
- 16. Vertica使用什麼散列函數
- 17. 爲什麼要使用散列表?
- 18. 爲什麼使用()作爲散列?
- 19. 什麼是jQuery和散列表的使用
- 20. MongoDB用於散列數據庫用戶密碼的散列函數是什麼?
- 21. Python:Blake2b的散列鍵中字母'b'的用法是什麼
- 22. 在Ruby中更新散列鍵的習慣用法是什麼?
- 23. 面試問題:什麼是散列表?
- 24. loadChildren語法 - 什麼是散列部
- 25. 「屬性散列」,那是什麼?
- 26. '散列缺點'是什麼意思?
- 27. 張量散列函數是什麼?
- 28. Bash'type someCmd':什麼意思是'散列'?
- 29. 散列後爲什麼是負值?
- 30. 關於JSON,散列究竟是什麼?
對我而言,它返回了'69887696075100'。 – Pavan