【激突】関数型言語 VS オブジェクト指向言語2
■ このスレッドは過去ログ倉庫に格納されています
0280デフォルトの名無しさん
2012/04/13(金) 16:17:23.17package 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
■ このスレッドは過去ログ倉庫に格納されています