有人可以在Perl中解释哈希吗?

有人可以在Perl中解释哈希吗?,第1张

概述主功能: my %hash = {'inner1'=>{'foo'=>5}, 'inner2'=>{'bar'=>6}};$object->State(0, %AMSValues); 寄去: sub State{ my ($self, $state, %values) = @_; my $value = \%values; 据我所知,一个应该是哈希,另一个是 主功能:

my %hash = {'inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6}};$object->State(0,%AMSValues);

寄去:

sub State{   my ($self,$state,%values) = @_;   my $value = \%values;

据我所知,一个应该是哈希,另一个是指针,但……

它看起来不像是这样的,

$value = $value->{"HASH(0x52e0b6c)"}%values = $values->{"HASH(0x52e0b6c)"}
解决方法 使用警告;总是.

您的:

my %hash = {'inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6}};

是不正确的; {}生成匿名哈希引用,%hash获取单个键(该字符串的哈希引用)和undef值.

你自找的:

my %hash = ('inner1'=>{'foo'=>5},'inner2'=>{'bar'=>6});

至于传递子程序,你不能通过哈希;像你这样的代码展示将哈希扁平化为一个列表,然后从@_重新组合一个哈希,但这将是一个单独的副本.如果您确实需要相同的哈希,则必须传递哈希引用.

总结

以上是内存溢出为你收集整理的有人可以在Perl中解释哈希吗?全部内容,希望文章能够帮你解决有人可以在Perl中解释哈希吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1222678.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存