В чем разница между методами дублирования и клонирования Ruby? описывает разницу в поведении dup
и clone
. Но когда мне следует использовать dup
, а когда вместо этого следует использовать clone
?
Примеры из реальных проектов, в которых обсуждается, почему они использовали дублирование, а не клонирование или наоборот, идеально подходят для этого вопроса.
В качестве альтернативы было бы полезно объяснить, почему существуют два разных метода. Это может относиться к утверждениям создателей Ruby или к изучению методов, подобных dup
и clone
, в языках, повлиявших на Ruby.