Я признаю, что я немного новичок в рубине (сейчас пишу сценарии рейка).На большинстве языков легко найти конструкторы копирования.Полчаса поиска не нашел его в рубине.Я хочу создать копию хэша, чтобы я мог изменить ее, не затрагивая исходный экземпляр.
Некоторые ожидаемые методы, которые не работают должным образом:
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