可能重複:
Is there a Ruby equivalent to PHP's extract?轉乘哈希鍵和Ruby的局部變量名
有什麼辦法採取一個Ruby散列如:
myhash = {a: 12, b:24, c:36}
和將其轉換爲一組局部變量(顯然,手動完成任務)?結果應該是一樣,如果我執行的語句:
a = 12
b = 24
c = 36
同樣,我可以拿一組定義的局部變量,並進行散列,其中鍵是變量名和值的變量值(再次,缺乏書面散列字面意思)?我還沒有見過這樣的事情之前,所以我猜答案是否定的,但它會很美好......
無論你正在試圖做的,還有幾乎可以肯定是一個更好的辦法。你能提供更多信息,所以我們可以提出一個不同的解決方案 –
@JoshuaCheek我發現自己經常以中等大小的散列作爲參數。這是繁瑣和膨脹的必須通過散列語法存儲在這些哈希值始終 - 我想我可以'解壓縮'(或提取)在我的方法內部的散列,做任何我設定的操作,然後在返回時重新包裝它。 –
我懷疑答案是接受面向對象。如果哈希是選項,請將它們拉出並設置爲ivars。如果你真的在操縱它們,那麼你很有可能應該使用對象而不是哈希(而不是在哈希中保存數據,對象保存它,而不是操縱哈希的數據,你告訴對象操縱它自己的數據數據)。沒有看到更多的代碼很難給出更好的建議。 –