# File lib/storable/orderedhash.rb, line 15 15: def [] *args 16: hsh = Storable::OrderedHash.new 17: if Hash === args[0] 18: hsh.replace args[0] 19: elsif (args.size % 2) != 0 20: raise ArgumentError, "odd number of elements for Hash" 21: else 22: 0.step(args.size - 1, 2) do |a| 23: b = a + 1 24: hsh[args[a]] = args[b] 25: end 26: end 27: hsh 28: end