如何使用perl获得每个类别的唯一成员?
我使用哈希来存储成员id。我使用以下验证来避免重复性:如何使用perl获得每个类别的唯一成员?,perl,hash,unique,Perl,Hash,Unique,我使用哈希来存储成员id。我使用以下验证来避免重复性: if($cases{$type} != $member_id) { $cases{$type} = $member_id; } 在那之后,我想得到每个$type的成员总数。我该怎么做 我尝试了以下操作,但不起作用: scalar(values $cases{$type}); 非常感谢。您当前的方法实际上并不计算给定类型中有多少成员;它只是跟踪最后添加的成员 为保持计数,考虑使用散列的散列;对要添加的每个$member\u id使
if($cases{$type} != $member_id) {
$cases{$type} = $member_id;
}
在那之后,我想得到每个$type的成员总数。我该怎么做
我尝试了以下操作,但不起作用:
scalar(values $cases{$type});
非常感谢。您当前的方法实际上并不计算给定类型中有多少成员;它只是跟踪最后添加的成员
为保持计数,考虑使用散列的散列;对要添加的每个
$member\u id
使用此选项:
$cases{$type}{$member_id} = 1;
散列赋值的值并不重要;这只是一种使用散列键来保持唯一性的方法
然后,要获取给定类型的成员数,请使用
scalar keys %{$cases{$type}}
您当前的方法实际上并不计算给定类型中有多少成员;它只是跟踪最后添加的成员
为保持计数,考虑使用散列的散列;对要添加的每个
$member\u id
使用此选项:
$cases{$type}{$member_id} = 1;
散列赋值的值并不重要;这只是一种使用散列键来保持唯一性的方法
然后,要获取给定类型的成员数,请使用
scalar keys %{$cases{$type}}
您可以使用
$member\u id
作为键,并使用grep
查找计数。
存储$type
类似$case{$member\u id}=$type
使用以下命令打印计数
print scalar grep $case{$_} == $type, keys %case;
您可以使用
$member\u id
作为键,并使用grep
查找计数。
存储$type
类似$case{$member\u id}=$type
使用以下命令打印计数
print scalar grep $case{$_} == $type, keys %case;
这应该是
标量键%{$cases{$type}}
这应该是标量键%{$cases{$type}