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中的数组引用,可以将
grep 与
ref 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} }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |