開発環境
- 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(練習問題)2を解いてみる。
2.
コード(TextWrangler)
#!/usr/bin/env perl use strict; use warnings; use 5.012; my $secret = int(1 + rand 100); sub f{ my $num = shift; given($num){ when(/^\s*$/){last;} when(!/^\d+$/){say "NaN";} when($num % 3 == 0){print "Fizz ";continue;} when($num % 5 == 0){print "Bin ";continue;} when($num % 7 == 0){print "Sausage";continue;} default{print("\n")} } } for(1..105){ print "$_: "; f $_; }
入出力結果(Terminal)
$ ./sample.pl 1: 2: 3: Fizz 4: 5: Bin 6: Fizz 7: Sausage 8: 9: Fizz 10: Bin 11: 12: Fizz 13: 14: Sausage 15: Fizz Bin 16: 17: 18: Fizz 19: 20: Bin 21: Fizz Sausage 22: 23: 24: Fizz 25: Bin 26: 27: Fizz 28: Sausage 29: 30: Fizz Bin 31: 32: 33: Fizz 34: 35: Bin Sausage 36: Fizz 37: 38: 39: Fizz 40: Bin 41: 42: Fizz Sausage 43: 44: 45: Fizz Bin 46: 47: 48: Fizz 49: Sausage 50: Bin 51: Fizz 52: 53: 54: Fizz 55: Bin 56: Sausage 57: Fizz 58: 59: 60: Fizz Bin 61: 62: 63: Fizz Sausage 64: 65: Bin 66: Fizz 67: 68: 69: Fizz 70: Bin Sausage 71: 72: Fizz 73: 74: 75: Fizz Bin 76: 77: Sausage 78: Fizz 79: 80: Bin 81: Fizz 82: 83: 84: Fizz Sausage 85: Bin 86: 87: Fizz 88: 89: 90: Fizz Bin 91: Sausage 92: 93: Fizz 94: 95: Bin 96: Fizz 97: 98: Sausage 99: Fizz 100: Bin 101: 102: Fizz 103: 104: 105: Fizz Bin Sausage $
0 コメント:
コメントを投稿