我承认我是一个红宝石新手(现在正在编写rake脚本)。在大多数语言中,复制构造函数很容易找到。半小时的搜索未在红宝石中找到它。我想创建哈希的副本,以便可以修改它而不影响原始实例。 某些预期无法正常工作的方法: 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