从哈希对象本身内向哈希对象添加键值对的最佳方法是什么?
我知道向哈希添加新密钥的常用方法如下:
hash = Hash.new
hash[:key] = 'value'
hash[:key] # => 'value'
如果我想创建一个在创建后已经拥有此密钥的新哈希,该怎么办?
hash = Hash.new
hash[:key] # => 'value'
这可能吗?谢谢!
答案 0 :(得分:1)
要创建具有已初始化值集的哈希,您可以执行以下操作:
hash = { :key => 'value' }
hash[:key] # ===> This evaluates to 'value'
请记住,在Ruby中创建空哈希的惯用方法是:
hash = {}
不像你所说的hash = Hash.new
。
答案 1 :(得分:0)
您的意思是设置默认值吗?是这样,你可以做:
hash = Hash.new('value')
hash[:key] # => 'value'
答案 2 :(得分:0)
不确定你的意思我的其他答案不是你想要的,你可以创建一个哈希,其中一些键和值已经像这样填充
hash = {:key => 'value'} #{:key=>"value"}
和其他人说的那样,key的默认值不是全部存在的,是通过在创建时传递一个块到哈希值来给出的,如
hash = Hash.new('value') #{}
hash[:test] #"value"
或
h = Hash.new { |hash, key| hash[key] = "Go Fish: #{key}" } #{}
h[:test] #"Go Fish: test"