いろいろなプログラミング言語でFizz Buzz
いろいろなプログラミング言語でFizzBuzzを書いてみる。(随時更新 比較的慣れた言語から)
言語的な比較をするだけなので凝ったコードは書きません。
ソースコードはこちらからもご覧いただけます。
https://github.com/FlyingHighAgain/FizzBuzz
C
/* fizzbuzz.c */ #include <stdio.h> int main() { int i; for (i = 1; i <= 100; i++) { if (i % 3 == 0 && i % 5 == 0) { printf("%s\n", "FizzBuzz"); } else if (i % 3 == 0) { printf("%s\n", "Fizz"); } else if (i % 5 == 0) { printf("%s\n", "Buzz"); } else { printf("%d\n", i); } } return 0; }
C#
// FizzBuzz.cs using System; class FizzBuzz { static void Main(string[] args) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0 && i % 5 == 0) { Console.WriteLine("FizzBuzz"); } else if (i % 3 == 0) { Console.WriteLine("Fizz"); } else if (i % 5 == 0) { Console.WriteLine("Buzz"); } else { Console.WriteLine(i); } } } }
Linq版
// FizzBuzz2.cs using System; using System.Linq; class FizzBuzz2 { static void Main(string[] args) { var fizzbuzz = Enumerable.Range(1, 100) .Select(num => { if (num % 3 == 0 && num % 5 == 0) { return "FizzBuzz"; } else if (num % 3 == 0) { return "Fizz"; } else if (num % 5 == 0) { return "Buzz"; } else { return num.ToString(); } }); fizzbuzz.ToList().ForEach(Console.WriteLine); } }
CoffeeScript
# fizzbuzz.coffee console.log( if i % 3 is 0 and i % 5 is 0 then "FizzBuzz" else if i % 3 is 0 then "Fizz" else if i % 5 is 0 then "Buzz" else i) for i in [1..100]
Haskell
-- fizzbuzz.hs fizzbuzz n = map (\x -> if x `mod` 3 == 0 && x `mod` 5 == 0 then "FizzBuzz" else if x `mod` 3 == 0 then "Fizz" else if x `mod` 5 == 0 then "Buzz" else (show x)) [1..n] main = print $ fizzbuzz 100
Java
// FizzBuzz.java public class FizzBuzz { public static void main(String[] args) { for (int i = 1; i <= 100; i++) { if (i % 3 == 0 && i % 5 == 0) { System.out.println("FizzBuzz"); } else if (i % 3 == 0) { System.out.println("Fizz"); } else if (i % 5 == 0) { System.out.println("Buzz"); } else { System.out.println(i); } } } }
JavaScript
// fizzbuzz.js for (i =0; i < 100; i++) { console.log( function(x) { if (x % 3 === 0 && x % 5 === 0) { return "FizzBuss"; } else if (x % 3 === 0) { return "Fizz"; } else if (x % 5 === 0) { return "Buzz"; } else { return x; } }(i)); }
Ruby
# fizzbuzz.rb (1..100).each do |num| if num % 3 == 0 && num % 5 == 0 puts "FizzBuzz" elsif num % 3 == 0 puts "Fizz" elsif num % 5 == 0 puts "Buzz" else puts num end end
Scala
// fizzbuzz.scala (1 to 100).map(x => (x % 3, x % 5) match { case (0, 0) => "FizzBuzz" case (0, _) => "Fizz" case (_, 0) => "Buzz" case _ => x }).foreach(println)
Scheme
; fizzbuzz.scm (for-each print (map (lambda (x) (cond ((and (= (modulo x 3) 0) (= (modulo x 5) 0)) "FizzBuzz") ((= (modulo x 3) 0) "Fizz") ((= (modulo x 5) 0) "Buzz") (else x))) (iota 100 1)))