Skip to content

Latest commit

 

History

History

clone

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Клонирование сложных структур данных

Требуется написать функцию принимающую на вход ссылку на какую либо структуру данных и отдающую, в качестве результата, ее точную независимую копию. Это значит, что ни один элемент результирующей структуры не может ссылаться на элементы исходной, но при этом она должна в точности повторять ее схему.

Входные данные:

  • undef
  • строка
  • число
  • ссылка на массив
  • ссылка на хеш Элементами ссылок на массив и хеш, могут быть любые из указанных выше конструкций. Любые отличные от указанных типы данных -- недопустимы. В этом случае результатом клонирования должен быть undef.

Выходные данные:

  • undef
  • строка
  • число
  • ссылка на массив
  • ссылка на хеш Элементами ссылок на массив или хеш, не могут быть ссылки на массивы и хеши исходной структуры данных.

Файлы:

  • lib/DeepClone.pm - место для реализации функции клонирования
  • bin/clone - скрипт для проверки алгоритма