2014年2月27日木曜日

開発環境

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

その他参考書籍

3.

コード(BBEdit, Emacs)

sample.pl

#!/usr/bin/env perl
# use diagnostics;
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';

sub total {
    my $result = 0;
    for (@_) {
        $result += $_;
    }
    $result;
}

sub average {
    total(@_) / @_;
}

sub above_average {
    my @result = ();
    my $avg = average @_;
    for (@_) {
        if ($_ > $avg) {
            push @result, $_;
        }
    }
    @result;
}

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)';

入出力結果(Terminal)

$ ./sample.pl 
@fred is 6 7 8 9 10
(Should be 6 7 8 9 10)
@barney is 100
(Should be just 100)
$

0 コメント:

コメントを投稿