-1

我有一个方法,它被赋予了这样的特定选项哈希

def send_params(options = {})
 #Create string of some values in the hash.
end

我想创建一个字符串,其中一些值在哈希中。特别是我正在寻找键 :key1, :key2, :key3, :key4 来创建一个带有对应值的字符串。所以,如果我的哈希是这样的:

{:key1 => 'value1', :key2 => 'value2', :key3 => 'value3', :key4 => 'value4', , :key5 => 'value5'}

我希望能够创建一个字符串,如:

'value1,value2|value3,value4' 

并将剩余的哈希值设为:

{:key5 => 'value5'}

因此,应该从散列中删除找到的值。这样做的好方法是什么?

4

1 回答 1

2

Hash#delete可能是您正在寻找的东西。它将从哈希中删除键/值对并返回值。

例子:

h = {
  :key1 => 'value1',
  :key2 => 'value2',
  :key3 => 'value3',
  :key4 => 'value4',
  :key5 => 'value5'
}
str = "#{h.delete :key1},#{h.delete :key2}|#{h.delete :key3},#{h.delete :key4}"
p str # => "value1,value2|value3,value4" 
p h   # => {:key5=>"value5"}
于 2012-08-14T05:31:04.320 回答