当前位置:  开发笔记 > 编程语言 > 正文

在Perl中制作数据结构的深层副本的最佳方法是什么?

如何解决《在Perl中制作数据结构的深层副本的最佳方法是什么?》经验,为你挑选了3个好方法。

给定一个数据结构(例如散列哈希),什么是干净/推荐的方式来制作深层副本以供立即使用?假设合理的情况,数据不是特别大,没有复杂的循环,可读性/可维护性等.不惜一切代价比速度更重要.

我知道我可以使用Storable,Clone,Clone :: More,Clone :: Fast,Data :: Dumper等.目前的最佳做法是什么?



1> 小智..:

Clone比它快得多Storable::dclone,但后者支持更多的数据类型.

Clone::Fast并且Clone::More是几乎等价的,如果没记错的话,但更小的特征,甚至比克隆完整,Scalar::Util::Clone更不支持,但IIRC是一些结构最快的这一切.

关于可读性,这些应该都是相同的,它们实际上是可以互换的.

如果您没有特定的性能需求,我会使用Storable的dclone.

我不会Data::Dumper因为它如此繁琐和迂回而使用它.它可能会非常缓慢.

对于它的价值,如果您想要可定制的克隆,那么Data::Visitor提供挂钩功能和相当完整的功能,完整的深度克隆是默认行为.


你有链接Scalar :: Util :: Clone吗?我无法在CPAN或Metacpan上找到它......

2> chaos..:

我的印象是Storable::dclone()有点规范.



3> Dan..:

克隆可能是你想要的.至少,这就是我见过的所有代码所用的东西.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有