Perl有什么更好的:哈希引用数组或“平”哈希列表?
发布时间:2020-12-15 23:28:12 所属栏目:大数据 来源:网络整理
导读:我无法确定哪种方法更多(1)惯用Perl,(2)有效,或(3)“清除”. 让我用代码解释一下.首先,我能做到 sub something { ... $ref-{size} = 10; $ref-{name} = "Foo"; $ref-{volume} = 100; push (@references,$ref); ... return @references;} 或者,我能做到 sub s
我无法确定哪种方法更多(1)惯用Perl,(2)有效,或(3)“清除”.
让我用代码解释一下.首先,我能做到 sub something { ... $ref->{size} = 10; $ref->{name} = "Foo"; $ref->{volume} = 100; push (@references,$ref); ... return @references; } 或者,我能做到 sub something { ... push (@names,"Foo"); $sizes{Foo} = 10; $volumes{Foo} = 100; ... return (@names,%sizes,%volumes); } 两者基本上都是一样的.重要的是,我需要数组,因为我需要保持秩序. 我知道,总有不止一种方法可以做某事,但是,你更喜欢这两种中的哪一种? 解决方法
而不是用无意义的术语来思考,比如用具体的术语来思考和表达这个问题.在这种情况下,您似乎返回了具有名称,大小和卷属性的对象列表.当你这样想时,没有理由考虑第二种方法.
如果遇到问题,你可以考虑稍后进行优化,但即使你这样做,你可能会从Memoize获得更多,而不是爆炸数据结构. 我建议的一个效率改进是从这个子程序返回一个引用: sub get_objects { my @ret; while ( 'some condition' ) { # should I return this one? push @ret,{ name => 'Foo',size => 10,volume => 100,}; } return @ret; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |