2020年4月26日日曜日

開発環境

初めてのPerl 第7版 (Randal L. Schwartz(著)brian d foy(著)Tom Phoenix(著)近藤 嘉雪(翻訳)嶋田 健志(翻訳)、オライリージャパン)の4章(サブルーチン)、4.13(練習問題)3の解答を求めてみる。

コード

#!/usr/bin/env perl
use strict;
use warnings;
use v5.28;

say '3.';

sub total {
    my $result = 0;
    for (@_) {
        $result += $_;
    }
    $result;
}
sub average {
    total(@_) / @_;
}
sub above_average {
    my $average = average @_;
    my @nums;
    for (@_) {
        if ($_ > $average) {
            push @nums, $_;
        }
    }
    @nums;
}

my @fred = above_average(1..10);
say "\@fred is @fred.";
say "(Should be 6 7 8 9 10)";
my @barney = above_average(100, 1..10);
say "\@barney is @barney.";
say "(Should be just 100)";

入出力結果(Zsh、PowerShell、Terminal)

% ./sample3.pl
3.
@fred is 6 7 8 9 10.
(Should be 6 7 8 9 10)
@barney is 100.
(Should be just 100)
%

0 コメント:

コメントを投稿