"Apple"); 2 my @fruits -6ren">
gpt4 book ai didi

perl - 如何grep perl Hash Keys 到一个数组?

转载 作者:行者123 更新时间:2023-12-01 08:20:12 25 4
gpt4 key购买 nike

我是 perl 新手,需要帮助来理解下面的代码。

我有一个这样定义的 perl 哈希

1   my %myFavourite = ("Apple"=>"Apple");
2 my @fruits = ("Apple", "Orange", "Grape");
3 @myFavourite{@fruits}; # This returns Apple. But how?

如果 perl 大师能解释上面代码第 3 行中发生的事情,那就太好了。
myFavourite 被声明有一个散列,但用作数组?并且该语句简单地获取散列的键,将其放入数组并返回与搜索到的键对应的散列值。这是我们将哈希键 grep 到数组的方式吗?

最佳答案

它不会返回苹果。它的计算结果是一个散列切片,由散列中与 @fruits 中的键对应的所有值组成。 .请注意,如果您打开警告,则会收到 2 条关于未初始化值的警告。这是因为 myFavourite不包含键值 OrangeGrape .在 perldata 中查找“哈希切片”。

本质上,@myFavourite{@fruits}($myFavourite{Apple}, $myFavourite{Orange}, $myFavourite{Grape}) 的简写,在这种情况下是 ($myFavourite{Apple},undef,undef) .如果你打印它,你看到的唯一输出是 Apple .

关于perl - 如何grep perl Hash Keys 到一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com