2016 - 2024

感恩一路有你

perl编程 在Perl中,哈希的标量上下文是什么?有什么用处吗?

浏览量:1517 时间:2021-03-14 03:28:44 作者:admin

在Perl中,哈希的标量上下文是什么?有什么用处吗?

你可能会看再一些像4/8的值,而简单来说这甚麼都不是.. hash其实是一些组织化了的array,里面用内建的index(索引)来处理,那个键对应那个值(在内存的位置)简单地理解的话,这输出的分母是准备用来储存这个index的总量--叫bucket(桶),而分子就是使用了这个index的量 以上你唯一会有意思的地方是,如果这是一个空的hash,$a就会是0

Perl哈希怎样实现输出的顺序还是按照文件里的顺序?

哈希可能不会按照文件里的顺序存储在内存中,因为它存储的规则是怎么舒服怎么存当执行%hash = ("a" => 10, "b" => 50, "c" => 30)foreach (keys %hash){ print $_ . " => " . $hash{$_} . "n"}看到的输出结果很可能不是当初赋值时的顺序。可以使用 sort给键值排序foreach (sort keys %hash){ print $_ . " => " . $hash{$_} . "n"}此时看到的结果会根据字母顺序进行排序。还可以使用@key = sort{$hash{$a} $hash{$b}}keys %hash这样就是根据哈希键对应的值进行排序,此时是按数字大小进行升序排序。将$a和$b的位置调换就是降序,如@key = sort{$hash{$b} $hash{$a}}keys %hashforeach (@key){ print $_ . " => " . $hash{$_} . "n"}结果是根据键值进行排序。

perl中如何将按hash的排序方法?

如果是按ASCII码排序,则代码如下:foreachmy$key(sort{$hash{$a}cmp$hash{$b}}keys%hash){my$value=$hash{$key}#dosomethingwith($key,$value)}如果是按数字小到大排列,则代码如下:foreachmy$key(sort{$hash{$a}<=>$hash{$b}}keys%hash){my$value=$hash{$key}#dosomethingwith($key,$value)}如果是按数字大到小排列,则代码如下:foreachmy$key(sort{$hash{$b}<=>$hash{$a}}keys%hash){my$value=$hash{$key}#dosomethingwith($key,$value)}按KEY排列foreachmy$item(sort{$a<=>$b}keys%hash){print"$item ==>$hash{$item}","/n"}

perl编程 perl哈希嵌套数组 哈希

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。