【Perl】初心者コーナーPart11
■ このスレッドは過去ログ倉庫に格納されています
0475_gunzip
02/04/14 13:47ID:???#!/usr/bin/perl -w
use strict;
our($a, $b);
sub mapup (& \@ \@)
#(code_ref $code, array_ref $_a, array_ref $_b)
{
my($code, $_a, $_b) = @_;
my @retval;
my $max_index = (@$_a < @$_b) ? @$_a : @$_b;
for (my $i = 0; $i < $max_index; $i++) {
local($a, $b) = ($_a->[$i], $_b->[$i]);
push @retval, $code->();
}
return @retval;
}
my @a = (1, 2, 3);
my @b = (0, 8, 7);
my @c = qw[ G C A T ];
my @d = qw[ C G T A ];
my @sum = mapup { $a + $b } @a, @b; # (1, 10, 10)
my @pro = mapup { $a * $b } @a, @b; # (0, 16, 21)
my @bigger = mapup { $a > $b ? $a : $b } @a, @b; # (1, 8, 7)
my @concat = mapup { $a . "-" . $b } @c, @d; # (G-C,C-G,A-T,T-A)
■ このスレッドは過去ログ倉庫に格納されています