나는 내가 약간의 루비 초보자임을 인정할 것입니다 (지금 레이크 스크립트 작성). 대부분의 언어에서 복사 생성자를 쉽게 찾을 수 있습니다. 30 분 동안 검색하면 루비에서 찾지 못했습니다. 원본 인스턴스에 영향을 미치지 않고 해시 복사본을 만들려고합니다.
의도 한대로 작동하지 않는 일부 예상되는 방법 :
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
Hash
물건을 다루는 경우 제공된 대답이 좋습니다. 제어하지 않는 장소에서 나오는 해시와 유사한 객체를 처리하는 경우 해시와 관련된 싱글 톤 클래스를 복제할지 여부를 고려해야합니다. 참조 stackoverflow.com/questions/10183370/...