我应该更喜欢Perl中的散列或散列表

前端之家收集整理的这篇文章主要介绍了我应该更喜欢Perl中的散列或散列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我还在学习perl

对于我来说,引用散列而不是直接访问它们感觉更“自然”,因为它更容易传递对子的引用(可以传递一个变量而不是列表).一般来说,我喜欢这种方法,即直接访问%散列的方法.

问题是,在哪里(在什么情况下)更好地使用普通的%散列,所以

$hash{key} = $value;

代替

$href->{key} = $value

是否有任何速度,或任何其他“事情”谁更喜欢使用%散列,而不是$hashrefs?或者只是纯粹的个人品味和TIMTOWTDI?一些例子,何时更好地使用%hash?

解决方法

我认为这样的问题是非常合法的:Perl或C等编程语言已经走了很长的路,积累了大量的历史行李,但人们通常会从历史的同步曝光中学习.因此,他们不禁想知道为什么TIMTOWDI和WTF都是这些选择,什么是更好的,应该是什么?

所以,在版本5之前,Perl没有引用.它只有值类型.参考文献是Perl 4的附件,可以编写更多的内容.必须保留价值类型,当然要保持向后兼容性;并且为了简单起见,因为经常你不需要引用的间接.

回答你的问题:

不要浪费时间考虑Perl哈希列表的速度.他们很快它们是内存访问.访问数据库文件系统或网络,这就是程序通常花费时间的地方.

在理论上,一个引用的操作应该花费一点时间,所以不要紧.

如果你好奇,那么benchmark.不要从分歧中得出太多的结论,你可能会看到.在另一个版本中,事情可能会有所不同.

所以没有速度的理由来支持对价值类型的引用,反之亦然.

还有其他原因吗我会说这是一个风格和品位的问题.就个人而言,我更喜欢语法 – >存取.

猜你在找的Perl相关文章