假设我有一个像这样的“make_members”方法。
sub make_members {
my ($number_members) = @_;
my $rows = SomeDBIModule->select();
my $count = @$rows;
for ( my $i = $count + 1; $i < $count + 1 + $number_members; $i++ ) {
$rows->insert(
name => "name".$i,
type => "A",
created_at => time,
);
}
}
到目前为止,一切都很好。现在想象该方法可以将输入 a、b 和 c 的用户数量作为输入:
sub make_members {
my ($number_members, $n_members_type_a, $n_members_type_b, $n_members_type_c) = @_;
#....
要写这篇文章,我首先想到的是制作 3 个循环。第一个
for ( my $i = $count + 1; $i < $count + 1 + $n_members_type_a; $i++ ){
$rows->insert(
name => "name".$i,
type => "A",
#....
$count + 1 和 $n_members_type_b 之间的第二个。$count + 1 和 $n_members_type_c 之间的第三个。
这看起来太长太可怕了。有没有更好的方法来写这个?