Weitere ähnliche Inhalte Ähnlich wie テストではまったお話 Test::More (12) テストではまったお話 Test::More3. 複数の配列を1つの配列にまとめたい。
ただし、以下のようなルールで
@array1=(1,1,3,8);
@array2=(2,3);
@array3=(5,6);
↓
@array=(1,2,5,1,3,6,3,8);
5. とりあえず実装した
package Sort;
use strict;
use warnings;
sub my_sort {
my @sorted;
my $total = 0;
for my $array(@_){
$total = $total + scalar(@$array);
}
until( $total == scalar @sorted){
foreach (@_) {
if (my $item = shift (@$_)){
push @sorted , $item;
}
}
}
return @sorted;
}
6. テスト1
use strict;
use warnings;
use Test::More;
my @result =Sort::my_sort ([1,2,3,8],[1,3],[5,6]);
is(@result, (1,1,5,2,3,6,3,8), "sort 3 list");
7. テスト2
use strict;
Use warnings;
Use Test::More;
my @result =Sort::my_sort ([],[],[]);
is(@result, (), "sort empty list");
# got: '0'
# expected: undef
← scalar @result
← scalar ()
10. テスト1
use strict;
use warnings;
use Test::More;
my @result =Sort::my_sort ([1,2,3,8],[1,3],[5,6]);
is(@result, (1,1,5,2,3,6,3,8), "sort 3 list");
scalar @result →配列の要素数 8
Scalar(1,1,5,2,3,6,3,8) →リストの末尾の要素 8
12. テスト1
use strict;
use warnings;
use Test::More;
my @result =Sort::my_sort ([1,2,3,8],[1,3],[5,6]);
is_deeply(¥@result, [1,1,5,2,3,6,3,8], "sort 3 list");