【发布时间】:2017-04-29 22:08:23
【问题描述】:
我有一个对象数组,以及一个特定方法的可接受返回值数组。如何将对象数组减少到仅那些其方法在我的可接受值数组中返回值的对象?
现在,我有这个:
my @allowed = grep {
my $object = $_;
my $returned = $object->method;
grep {
my $value = $_;
$value eq $returned;
} @acceptableValues;
} @objects;
问题是这是一个复合循环,我想避免。该程序旨在扩展到任意大小,并且我想尽量减少运行的迭代次数。
最好的方法是什么?
【问题讨论】:
-
将返回值放入哈希中。
-
您期望有多少对象和可接受的值?
标签: arrays perl nested-loops