Я признаю, что я немного рубиновый новичок (теперь записываю скрипты грабли). На большинстве языков конструкторы копирования легко найти. Полчаса поиска не нашли его в рубине. Я хочу создать копию хеша, чтобы изменить ее, не затрагивая оригинальный экземпляр.
Некоторые ожидаемые методы, которые не работают должным образом:
h0 = { "John"=>"Adams","Thomas"=>"Jefferson","Johny"=>"Appleseed"}
h1=Hash.new(h0)
h2=h1.to_hash
Тем временем я прибегал к этому неудобному обходу
def copyhash(inputhash)
h = Hash.new
inputhash.each do |pair|
h.store(pair[0], pair[1])
end
return h
end