愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

今さらPerlでFizzBuzzを書いてみた

#!/usr/bin/perl

use strict;
use warnings;


my $print_if_multiple_of = sub {
    my ($str, $base) = @_;
    return sub {
        my $num = shift;
        return ( $num % $base == 0 ) ? $str : "";
    };
};

my $fizz = $print_if_multiple_of->("Fizz", 3);
my $buzz = $print_if_multiple_of->("Buzz", 5);

my $fizzbuzz = sub {
    my $num = shift;
    return $fizz->($num) . $buzz->($num) || $num;
};


print join("\n", map { $fizzbuzz->($_) } (1..100) );


うん、そんだけ。

そんだけなのよ。


http://gist.github.com/400054