- 280 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 16:17:23.17 ]
- >>276 突貫工事だけれど…
package FizzBuzzGizz; sub new { my ($c, $n) = @_; bless {n => $n, s => ''}, $c } sub fizz {my $t = shift; $t->{s} .= 'Fizz' if 0 == $t->{n} % 3; $t} sub buzz {my $t = shift; $t->{s} .= 'Buzz' if 0 == $t->{n} % 5; $t} sub gizz {my $t = shift; $t->{s} .= 'Gizz' if 0 == $t->{n} % 7; $t} sub result {my $t = shift; $t->{s} ? $t->{s} : $t->{n}} 1; package main; do { my $fbg = new FizzBuzzGizz($_); print "$_:" . FizzBuzzGizz::result($fbg->fizz->buzz->gizz) . "\n" # あるいは print "$_:" . $fbg->fizz->buzz->gizz->result . "\n" } for qw{1 3 5 7 15 21 35 105}; $ perl p_fizzBuzzGizz.pl 1:1 3:Fizz 5:Buzz 7:Gizz 15:FizzBuzz 21:FizzGizz 35:BuzzGizz 105:FizzBuzzGizz
|

|