gpt4 book ai didi

arrays - 为什么 grep 不适用于 Perl 中的列表

转载 作者:行者123 更新时间:2023-12-02 02:00:52 25 4
gpt4 key购买 nike

在 Perl 中,

my @lista = ['THE', 'KITE', 'RUNNER'];
my @listb = grep { $_ ne 'KITE' } @lista;
print "" . Data::Dumper->Dump(\@listb);

不打印任何内容

my @lista = ('THE', 'KITE', 'RUNNER');
my @listb = grep { $_ ne 'KITE' } @lista;
print "" . Data::Dumper->Dump(\@listb);

打印包含“THE”“RUNNER”的数组。

当数组在 [] 中定义时,为什么 grep 不起作用?

如何对[]中定义的数组进行grep操作?

最佳答案

[] 不返回数组;它返回对数组的引用。这样的 @lista 仅包含一个元素。您正在将该引用的字符串化(例如 ARRAY(0x61dc18))与 KITE 进行比较。由于这两个字符串完全不同,grep 返回引用并将其存储在 @listb 中。

我认为您想要以下内容:

my $array_a = ['THE', 'KITE', 'RUNNER'];
my @array_b = grep { $_ ne 'KITE' } @$array_a;
print Data::Dumper->Dump(\@array_b);

关于arrays - 为什么 grep 不适用于 Perl 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43946547/

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