From: Andrew Eliseykin Date: 2013-03-25T22:29:17+09:00 Subject: Unexpected hash's behavior Hi all. I'm newbie. Help me, please. I write Puppet function Piece of code : n_if={} over_if = arguments[1] over_if.each do |kk,vv| weth={} puts kk,vv,weth weth = arguments[0] weth['in_vlan'] = vv['in_vlan'] weth['options']['MTU'] = vv['mtu'] n_if['eth'+ kk.to_s]=weth end Data readed from 2 files, and passed into arguments[0] and arguments[1] respectively: # template of ethernet interfaces eth_: method: "static" family: "inet" ip: "" netmask: "255.255.0.0" onboot: true options: MTU: "" in_vlan: "" # values for include into ethernet interfaces eth_values: 0: mtu: 1500 in_vlan: 15 1: mtu: 9000 in_vlan: 125 I expect get hash with keys 'eth0' and 'eth1' as follow: eth1methodstaticfamilyinetin_vlan125ipnetmask255.255.0.0onboottrueoptionsMTU9000eth0methodstaticfamilyinetin_vlan15ipnetmask255.255.0.0onboottrueoptionsMTU1500 But I get : eth1methodstaticfamilyinetin_vlan125ipnetmask255.255.0.0onboottrueoptionsMTU9000eth0methodstaticfamilyinetin_vlan125ipnetmask255.255.0.0onboottrueoptionsMTU9000 What is my mistake? -- Posted via http://www.ruby-forum.com/.