簡體   English   中英

Ruby數組哈希鍵

[英]Ruby array hash keys

基本上我正在使用2D矩陣。 我可以通過指定(x,y)對來獲取矩陣的元素,以獲得該位置的相應值。

現在,我還希望能夠跟蹤在運行時任意確定的某些對。 例如,我可能需要跟蹤(1,2),(3,4)和(5,6)處的值,也許我需要經常檢索該位置的值。

所以我在考慮如何制作哈希。

liked_elements = {[1,2] => M[1,2], [3,4] =>M[3,4], [5,6]=>M[5,6]}

或類似的東西。

然后我可以快速迭代哈希並獲得我喜歡的元素。

使用數組作為哈希鍵是否有任何問題?

之后不要修改數組(或者如果你這樣做,記得重新散列哈希)。

如果它真的是一個矩陣(一個數組數組),那么你可以像這樣傳入坐標

matrix = [[:a, :b, :c],[:d, :e, :f], [:g, :h, :i]]
matrix[0][1] # returns :b
matrix[1][2] # returns :f
matrix[2][3] # returns nil, since 3 is out of bounds

是的,您可以將數組創建為哈希鍵。

h = Hash[[0,1], matrix[0][1]]
h[[0,1]] # returns :b

我目前正在制作一個二維數組,其中每個數組都指向一個特定的哈希映射。 每個地圖都有自己的特定數據,我想檢索密鑰和值信息。 但是,當我引用一個數組(即A [0] [1]時,我無法訪問哈希函數。

我通過使用A.class來檢查類類型,以驗證它是一個哈希,確實是它返回的內容。 這是Ruby 1.9.3的固有問題還是我做錯了什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM