假設我有一個獲取請求:
def get (var)
uri = URI('url')
res = Net::HTTP.get_response(uri)
parse = JSON.parse(res[:body])
{parse['color'] => parse ['id']}
獲取請求接受一個變數并回傳一個哈希值。我知道在我的苗條檔案中做類似的事情
get(var)['red']
會給我鍵“紅色”的相應值。但是,如果我想通過名稱訪問散列的鍵/值怎么辦。所以像
get(var)['color']
這樣的事情可能嗎?假設請求的回應是 {'red' => 3} 我可以像上面的代碼一樣通過呼叫“color”來訪問鍵“red”嗎?我意識到上面代碼的語法很可能是不正確的。
uj5u.com熱心網友回復:
get 的回傳值只是像 {'red' => 3} 這樣的單個元素哈希
如果您想在不使用訪問條目的情況下獲取鍵和值
get(var)['red']
=> 3
您可以執行以下操作:
get(var).keys.first
=> '紅色'
get(var).values.first
=> 3
或者您可以獲取回傳值并將其映射到新的哈希中:
new_hash = {"color" => get(var).keys.first, "id" =>get(var).values.first}
然后像這樣訪問:
新哈希[“顏色”]
=> 紅色
新哈希[“id”]
=> 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/445021.html
