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

perl – 按字典顺序排序

发布时间:2020-12-16 06:11:47 所属栏目:大数据 来源:网络整理
导读:我看到以下代码的结果,但我不明白在以下排序示例中该如何知道或知道该怎么做: use Data::Dumper;$animals{'man'}{'name'} = 'paul';$animals{'man'}{'legs'} = 2;$animals{'cheeta'}{'name'} = 'mike';$animals{'cheeta'}{'legs'} = 3;$animals{'zebra'}{'n
我看到以下代码的结果,但我不明白在以下排序示例中该如何知道或知道该怎么做:

use Data::Dumper;

$animals{'man'}{'name'} = 'paul';
$animals{'man'}{'legs'} = 2;
$animals{'cheeta'}{'name'} = 'mike';
$animals{'cheeta'}{'legs'} = 3;
$animals{'zebra'}{'name'} = 'steve';
$animals{'zebra'}{'legs'} = 4;
$animals{'cat'}{'name'} = '';
$animals{'cat'}{'legs'} = 3;
$animals{'dog'}{'name'} = '';
$animals{'dog'}{'legs'} = 4;
$animals{'rat'}{'name'} = '';
$animals{'rat'}{'legs'} = 5;

@animals = sort {
      $animals{$a}{'name'} cmp $animals{$b}{'name'}
   or $animals{$a}{'legs'} <=> $animals{$b}{'legs'}
} keys %animals;

print Dumper(@animals);

解决方法

或者是短路评估器,因此如果它是真的(它是任何非零值)它将返回左侧的值,否则将评估右侧.

因此,在这种情况下,如果动物的名字相等,(0 – 假),腿数将被计算用于分类目的.

(编辑:李大同)

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

    推荐文章
      热点阅读