ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

FizzBuzzをいくつかの言語で書いてみた

新しい言語を触るときに、なにかお題がないと書くことができない私。

友達からFizzBuzzを教わってからは、とりあえずFizzBuzzを書くことにしている。

まー、ググって出てくるような「少ないコード数でいかに速度をあげるか」みたいなものではなくて、適当に関数作ってみたり、変数に入れてみたり、特にルールもなく思いつきで書いています。

 

せっかくなのでいくつか載せてみます。

 

Perl。

#!/usr/bin/env perl

use strict;
use warnings;

my $result;

for my $i (1..30) {
    if ($i % 3 == 0 && $i % 5 == 0) {
        $result = "FizzBuzz!\n";
    } elsif ($i % 3 == 0) {
        $result = "Fizz\n";
    } elsif ($i % 5 == 0) {
        $result = "Buzz\n";
    } else {
        $result = $i."\n";
    }

    print $result;
}

 

Perl(書き直した)。

#!/usr/bin/env perl

use strict;
use warnings;

my $result;

for my $i (1..30) {
    $result = $i."\n";
    $result = "Fizz\n" if ($i % 3 == 0);
    $result = "Buzz\n" if ($i % 5 == 0);
    $result = "FizzBuzz!\n" if ($i % 3 == 0 && $i % 5 == 0);
    print $result;
}

 

Ruby。

# coding: utf-8

def printMessage(str)
    puts str
end

for i in 1..100
    fizz = 3
    buzz = 5

    if (i % (fizz * buzz) == 0)
        printMessage("FizzBuzz")
    elsif (i % fizz == 0)
        printMessage("fizz")
    elsif (i % buzz == 0)
        printMessage("buzz")
    else
        printMessage(i)
    end
end

 

AppleScript。

tell application "Finder"
    repeat with i from 1 to 15
        if i mod 3 is 0 and i mod 5 is 0 then
            log "fizzbuzz"
        else if i mod 3 is 0 then
            log "fizz"
        else if i mod 5 is 0 then
            log "buzz"
        else
            log i
        end if
    end repeat
end tell