加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 什么是4/16在散列?

发布时间:2020-12-15 21:14:46 所属栏目:大数据 来源:网络整理
导读:06000 That will be true if (and only if) the hash has at least one key-value pair. The actual result is an internal debugging string useful to the people who maintain Perl. It looks something like “4/16,” but the value is guaranteed to b

06000

That will be true if (and only if) the hash has at least one
key-value
pair.

The actual result is an internal debugging string useful to the
people
who maintain Perl. It looks something like “4/16,” but the value
is guaranteed to be true when the hash is nonempty,and false when
it’s empty. –Llama book

这是什么4/16?任何人都可以看到一个小程序,从那里我可以看到结果是4/16?

解决方法

从 perldoc perldata:

If you evaluate a hash in scalar context,it returns false if the hash
is empty. If there are any key/value pairs,it returns true; more
precisely,the value returned is a string consisting of the number of
used buckets and the number of allocated buckets,separated by a
slash. This is pretty much useful only to find out whether Perl’s
internal hashing algorithm is performing poorly on your data set. For
example,you stick 10,000 things in a hash,but evaluating %HASH in
scalar context reveals “1/16”,which means only one out of sixteen
buckets has been touched,and presumably contains all 10,000 of your
items.

所以,4/16将是使用/分配计数的桶,像下面这样的值将显示这个值:

%hash = (1,2);
print scalar(%hash); #prints 1/8 here

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读