嘗試使用哈希除了有許多值從一個代碼如何使用散列除了數組值?或者如何創建哈希線?
H1 =散列[:狀態=> 1,代碼=> 2]
H2 =散列[:狀態=> 10,代碼=> 20 ]
這項工作:
H1.except(:state, :code)
哈希 - > H1將不包含值。 OK
但是波紋管是不是工作
H1.expect(H2.keys)
哈希 - > H1將包含值。不是
問題是因爲紅寶石把order.keys與BRACKET。我試圖從陣列產生,但也無法工作
嘗試使用哈希除了有許多值從一個代碼如何使用散列除了數組值?或者如何創建哈希線?
H1 =散列[:狀態=> 1,代碼=> 2]
H2 =散列[:狀態=> 10,代碼=> 20 ]
這項工作:
H1.except(:state, :code)
哈希 - > H1將不包含值。 OK
但是波紋管是不是工作
H1.expect(H2.keys)
哈希 - > H1將包含值。不是
問題是因爲紅寶石把order.keys與BRACKET。我試圖從陣列產生,但也無法工作
你在做什麼等於呼叫H1.except([:state, :code])
。
如果H1.except(:state, :code)
作品,只是unsplat數組:
H1.except(*H2.keys)
什麼是「期望」?我不知道..你會教我嗎? :) –
@ArupRakshit:我沒有線索的開始......但是他絕對缺少一個未繪製的操作符。 :-) –
@ArupRakshit:發現它... http://apidock.com/rails/Hash/except –
,你可以做一個解決方法是:
H2.keys.each do |key|
H1.except(key)
end
您可以在一個班輪使用Lambda做這樣的:
h1 = {:state => 1, :code => 2, :foo => 3, :bar => 4}
h2 = {:state =>10, :code => 20}
h1.select {|k,v| !h2.keys.include?(k)}
收益率
{:foo=>3, :bar=>4}
'expect'是什麼? –