開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc., Emacs(Text Editor)
- プログラミング言語: Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の4章(サブルーチン)の4.12(練習問題)3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use 5.016; use utf8; binmode STDOUT, ':utf8'; binmode STDIN, ':utf8'; sub total { my $result = 0; for (@_) { $result += $_; } $result; } sub average { total(@_) / @_; } sub above_average { my @result = (); my $a = average(@_); for (@_) { push @result, $_ if $_ > $a; } @result; } my @fred = above_average(1..10); print "\@fred is @fred\n"; print "(Should be 6 7 8 9 10)\n"; my @barney = above_average(100, 1.10); print "\@barney is @barney\n"; print "(Should be just 100)\n";
入出力結果(Terminal)
$ ./sample.pl @fred is 6 7 8 9 10 (Should be 6 7 8 9 10) @barney is 100 (Should be just 100) $
ちなみにpython3.3の場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- def total(a): res = 0 for n in a: res += n return res def average(a): return sum(a) / len(a) def above_average(a): n = average(a) return list(filter(lambda x: x > n, a)) spam = above_average([x for x in range(1, 11)]) print("spam is {0}".format(spam)) print("(Should be 6 7 8 9 10)") egg = above_average([100] + [x for x in range(1, 11)]) print("egg is {0}".format(egg)) print("(Should be just 100)")
入出力結果(Terminal)
$ ./sample.py spam is [6, 7, 8, 9, 10] (Should be 6 7 8 9 10) egg is [100] (Should be just 100) $
0 コメント:
コメントを投稿