1
任何人都可以解釋爲什麼這兩個代碼片段不等效?要麼我錯過了一些東西,要麼注射不會做我認爲的事情。鑑於:注入不按預期工作
nodes = [{id: 1}, {id: 2}]
此代碼:
result = Hash.new
nodes.each do |node|
result[node[:id]] = node.inspect
end
result
回報
{
1 => "{:id=>1}",
2 => "{:id=>2}"
}
但這:
nodes.inject({}) {|hash, node|hash[node[:id]] = node.inspect}
回報:
"{:id=>2}"
爲什麼?
謝謝!天色已晚,知道我正在變厚! – Chris 2013-02-20 17:14:05