新しい言語を触るときに、なにかお題がないと書くことができない私。
友達から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