簡體   English   中英

從哈希中添加Ruby哈希的鍵值

[英]Add key-value for Ruby Hash from within the Hash

從哈希對象本身內部向哈希對象添加鍵值對的最佳方法是什么?

我知道向哈希添加新鍵的常見方法如下:

hash = Hash.new
hash[:key] = 'value'
hash[:key] # => 'value'

如果我不想創建一個在創建后已經具有此密鑰的新哈希,該怎么辦?

hash = Hash.new
hash[:key] # => 'value'

這可能嗎? 謝謝!

要使用已初始化的一組值創建哈希,可以執行以下操作:

hash = { :key => 'value' }
hash[:key]    # ===> This evaluates to 'value'

請記住,在Ruby中創建空哈希的慣用方式是:

hash = {}

不是hash = Hash.new就像您舉例說明的那樣。

您的意思是設置默認值嗎? 是的,您可以這樣做:

hash = Hash.new('value')
hash[:key] # => 'value'

不知道你的意思我其他答案不是你想要的,你可以創建一個哈希,其中已經填充了一些鍵和值,就像這樣

hash = {:key => 'value'} #{:key=>"value"}

就像其他人說的那樣,密鑰尚未全部存在的默認值是通過在創建時將哈希傳遞給塊的方式給出的,例如

hash = Hash.new('value') #{}
hash[:test] #"value"

要么

h = Hash.new { |hash, key| hash[key] = "Go Fish: #{key}" } #{}
h[:test] #"Go Fish: test"

最后一個樣本來自http://www.ruby-doc.org/core-1.9.3/Hash.html

暫無
暫無

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

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