回答
我是初學者也一樣,所以這可能是有點低效率的,但是這是我會怎樣解釋(還有更簡單的方法,我敢肯定,但既然你提到這是一類,我想我會以長形式講解):
hash={}
some_array.each do |item|
hash[item[0]] = item[1]
end
只是爲了解釋了一下,我用C開始重新使用一個空的散列,我稍後會使用它。
然後我使用each
方法循環使用some_array
。這將some_array中的每個元素分配給變量item
。假設some_array是一個嵌套數組(基本上意味着它是一個數組數組),則item變量將取內部數組的值 - 例如item = [:a, 123]
。
然後我們可以在創建散列時訪問item
中的每個元素。遵循前面給出的item[0] == :a
和item[1] == 123
的相同示例。
然後我在創建散列時使用了一些簡寫 - 即hash[key] = value
。在這種情況下,我希望密鑰是:a(它是項目[0])和值爲123(即項目[1])。所以我可以使用hash[item[0]] = item[1]
。
希望有幫助!
爲什麼當'.to_h'方法執行此操作時會這樣做?儘管出於學術原因實施此類教育可能具有教育意義,但解決方案是閱讀手冊並查找可用的工具。 – tadman
謝謝@tadman,因爲它似乎是一個基本問題,我想他一定剛剛開始,並會很感激解釋。但是你的評論也是有效的,使用可用的工具同樣重要。 –
我不是想在這裏給你打石膏,只是說在生產代碼中你應該用書來做。一如既往,渴望更多地瞭解並做實驗。例如,如果您想使用該方法,可以使用['each_with_object'](http://ruby-doc.org/core-2.4.0/Enumerable.html#method-i-each_with_object)來改進您的代碼。有時候你正在做的是有效的,因爲你想對每個'item [1]'執行轉換。 – tadman
要轉換在散列簡單地使用.to_h方法
some_array.to_h
- 1. 通過循環將紅寶石數組轉換爲哈希
- 2. 如何將數組轉換爲紅寶石鍵值對哈希
- 3. 在哈希數組中轉換紅寶石嵌套哈希
- 4. 紅寶石數組哈希
- 5. 紅寶石 - 將哈希格式化數組轉換爲實際哈希
- 6. 紅寶石轉嵌套數組轉換爲哈希
- 7. 紅寶石哈希轉
- 8. 紅寶石轉化哈希
- 9. 什麼對紅寶石哈希轉換爲數組
- 10. 轉換紅寶石陣列哈希爲一個哈希
- 11. 轉換JSON紅寶石哈希
- 12. 紅寶石哈希:不能將字符串轉換爲整數
- 13. 紅寶石 - 哈希
- 14. 紅寶石 - 哈希
- 15. 轉換JSON - >紅寶石哈希散列的數組
- 16. 紅寶石:如何哈希轉換成數組
- 17. 紅寶石將對象轉換爲哈希
- 18. 如何將紅寶石哈希對象轉換爲JSON?
- 19. 紅寶石哈希和數組到XML
- 20. 紅寶石:合併數組或哈希
- 21. 搜索哈希數組在紅寶石
- 22. 紅寶石哈希與數組值
- 23. 紅寶石對象數組...或哈希
- 24. 如何將字符串等哈希轉換爲紅寶石哈希?
- 25. 從紅寶石轉換爲紅色的哈希
- 26. jquery ajax正在將紅寶石對象數組轉換爲哈希
- 27. 紅寶石哈希「delete_if」空哈希
- 28. 紅寶石哈希鍵compare_by_identity
- 29. 比較紅寶石哈希
- 30. 紅寶石:通過哈希
'的some_array.to_h' –
可能的複製[什麼是一個數組轉換爲紅寶石散列的最佳方式](HTTP:// stackoverflow.com/questions/39567/what-is-the-best-way-to-convert-an-array-to-a-hash-in-ruby) –
請閱讀「[問]」,包括鏈接的頁面,「 [mcve]「如果你寫的代碼有問題,並且http://meta.stackoverflow.com/q/261592/128421 –