用更时尚的东西替换我的$ i(0,1,2)?

ado*_*ado 2 perl

我通常以这种方式编写Perl测试

 for my $i ( 0, 1, 2 ) {
    is_deeply( $fetch_public_topic_ids->[$i],
 $expected_sorted_topic_list->[$i], 'Match' );
Run Code Online (Sandbox Code Playgroud)

何时$expected_sorted_topic是我的测试用例数据的数组引用.我有时得到反馈,我应该避免在我的"for"中写0,1,2,3 ......或0 ... 5,因为它被认为是"坏风格"?

但我有什么替代方案呢?

ike*_*ami 5

您希望迭代数组的索引,但在确定索引时没有数组数字.问题是索引的硬编码.

for my $i (0..$#$fetch_public_topic_ids) {
   ...
}
Run Code Online (Sandbox Code Playgroud)


And*_*ter 5

为什么你甚至使用循环?

你应该能做到的

is_deeply( $fetch_public_topic_ids, $expected_sorted_topic_list );
Run Code Online (Sandbox Code Playgroud)