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