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

如何在不使用临时数组的情况下访问最后一个Perl哈希键?

发布时间:2020-12-15 23:28:47 所属栏目:大数据 来源:网络整理
导读:如何在不创建临时数组的情况下访问哈希中键的最后一个元素? 我知道哈希是无序的.但是,有一些应用程序(如我的),我可以使用散列键上的简单排序调用来订购我的密钥.希望我已经解释了为什么我想要这个.我承认,barney / elmo示例是一个糟糕的选择,但它确实有它的
如何在不创建临时数组的情况下访问哈希中键的最后一个元素?

我知道哈希是无序的.但是,有一些应用程序(如我的),我可以使用散列键上的简单排序调用来订购我的密钥.希望我已经解释了为什么我想要这个.我承认,barney / elmo示例是一个糟糕的选择,但它确实有它的应用程序.

考虑以下:

my %hash = ( barney => 'dinosaur',elmo => 'monster' );
my @array = sort keys %hash;
print $array[$#{$hash}];
#prints "elmo"

关于如何在不调用temp的情况下执行此操作的任何想法(在这种情况下为@array)?

解决方法

print( (keys %hash)[-1]);

请注意,额外的parens是防止语法与print的参数列表混淆所必需的.

你也可以使用这个邪恶的技巧强制它进入标量上下文并取消额外的parens:

print ~~(keys %hash)[-1];

(编辑:李大同)

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

    推荐文章
      热点阅读