我还在学习perl。
对我来说,引用哈希值比直接访问它们感觉更“自然”,因为将引用传递给子项更容易(可以传递一个变量而不是列表)。一般来说,我更喜欢这种方法而不是直接访问%hashes
".
问题是,在哪里(在什么情况下)使用普通的 %hashes 更好,所以
$hash{key} = $value;
代替
$href->{key} = $value
这里有任何速度,还是任何其他喜欢使用的“东西”%hashes
并不是$hashrefs?
或者这只是纯粹的个人品味和TIMTOWTDI的问题?一些例子,什么时候使用更好%hash
?
我认为这种问题是非常合理的:像 Perl 或 C++ 这样的编程语言已经走过了很长的路,积累了很多历史包袱,但人们通常是从非历史的、同步的揭露中学习它们。因此,他们一直想知道为什么 TIMTOWDI 和 WTF 所有这些选择,什么更好,什么应该是首选?
所以,在版本 5 之前,Perl 没有参考资料。它只有值类型。引用是 Perl 4 的附加组件,可以编写更多内容。当然,必须保留值类型以保持向后兼容性;而且,为了简单起见,因为通常您不需要引用那样的间接方式。
回答你的问题:
不要浪费时间考虑 Perl 哈希列表的速度。他们很快。它们是内存访问。访问数据库、文件系统或网络,这是您的程序通常花费时间的地方。
从理论上讲,取消引用操作应该花费一点点时间,如此之短应该无关紧要。
如果你好奇的话基准 http://perldoc.perl.org/Benchmark.html。不要从您可能看到的差异中得出太多结论。在另一个版本中情况可能会有所不同。
因此,没有理由优先考虑引用而不是值类型,反之亦然。
难道还有其他原因吗?我想说这是风格和品味的问题。就我个人而言,我更喜欢没有的语法->
访问器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)