いろんな言語でFizzBuzz

Pythonで:

#!/usr/bin/python

def fizzbuzz():
  for i in range(1, 101):
      if i % 15 == 0:
          print "FizzBuzz"
      elif i % 3 == 0:
          print "Fizz"
      elif i % 5 == 0:
          print "Buzz"
      else:
          print i

fizzbuzz()

Pythonではforやifに対応する閉じ括弧がないのと行末のコロンが特徴的です。

Rubyで:

#!/usr/bin/ruby

def fizzbuzz
  (1..100).each do |i|
    if i % 15 == 0
      puts "FizzBuzz"
    elsif i % 3 == 0
      puts "Fizz"
    elsif i % 5 == 0
      puts "Buzz"
    else
      puts i
    end
  end
end

fizzbuzz()

Rubyでは関数定義の括弧は省略可能です。最後のend end endが実に存在感があります。

Emacs Lispで:

(defun fizzbuzz ()
  (let ((i 1))
    (while (<= i 100)
      (princ (cond ((= (% i 15) 0) "FizzBuzz")
                   ((= (% i 3) 0) "Fizz")
                   ((= (% i 5) 0) "Buzz")
                   (t (int-to-string i))))
      (princ "\n")
      (setq i (1+ i)))))

実行するには、emacs --batch -l fizzbuzz.el -f fizzbuzz のようにします。

JavaScriptで:

<html>
<head>
<script type="text/javascript">
function fizzbuzz() {
    for (var i = 1; i <= 100; i++) {
        if (i % 15 == 0) {
            document.write("FizzBuzz<br/>");
        }
        else if (i % 3 == 0) {
            document.write("Fizz<br/>");
        }
        else if (i % 5 == 0) {
            document.write("Buzz<br/>");
        }
        else {
            document.write(i + "<br/>")
        }
    }
}
</script>
</head>
<body>
<script type="text/javascript">
fizzbuzz()
</script>
</body>
</html>

あとはHaskellでもやりたかったけど時間切れでした。