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

Perl中子数组的数组数组

发布时间:2020-12-16 06:05:59 所属栏目:大数据 来源:网络整理
导读:我试图在数组数组中获得“子阵列”的数量…… 即: 原版的: @array = (("a","b","c"),(1,2,3),("q","w","e")); 改性: @array = (["a","c"],[1,3],["q","e"]); 我怎么去得到这个号码? (在这种情况下,它将是3.) 解决方法 要仅计算数组ref中的数组引用,可以
我试图在数组数组中获得“子阵列”的数量……

即:

原版的:

@array = (("a","b","c"),(1,2,3),("q","w","e"));

改性:

@array = (["a","c"],[1,3],["q","e"]);

我怎么去得到这个号码? (在这种情况下,它将是3.)

解决方法

要仅计算数组ref中的数组引用,可以将 grepref built-in一起使用.假设在外部数组ref中可以有其他内容和数组引用,可以这样做:

my @array = (["a","e"],4);
my $count = scalar grep { ref $_ eq 'ARRAY' } @array;
print $count;

__END__
3

它将依次查看@array的每个元素,获取具有引用类型ARRAY的元素,并将结果列表强制转换为标量上下文,给出元素数量.

因为你似乎有一个哈希引用,它包含数组引用的数组引用,所以将它改为this就可以了.我以为你可以自己做转移.

my $count = scalar grep { ref $_ eq 'ARRAY' } @{ $hashref->{element} };

(编辑:李大同)

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

    推荐文章
      热点阅读