開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第5版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-427-9) の15章(スマートマッチとgiven-when), 15.6(練習問題)4を解いてみる。
4.
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; use 5.012; given($ARGV[0]){ when(!/^\d*$/){die "コマンドライン引数に数を指定";} my @divisors = divisors($_); when([] ~~ @divisors){say "素数";} default{say "約数一覧: @divisors";} } sub divisors{ my $number = shift; my @divisors = (); for(2..$number/2){ push @divisors, $_ unless $number % $_; } return @divisors; }
入出力結果(Terminal)
$ ./sample.pl 99 約数一覧: 3 9 11 33 $ ./sample.pl 3 素数 $ ./sample.pl 5 素数 $ ./sample.pl 7 素数 $ ./sample.pl 11 素数 $ ./sample.pl 10 約数一覧: 2 5 $
0 コメント:
コメントを投稿