FizzBuzz Aufgabe in Clojure

Es gibt eine Code Kata die nennt sich FizzBuzz http://codingkata.org/katas/unit/fizz-buzz. Ich habe einmal versucht die Aufgabe in Clojure zu realisieren. Die meiste Zeit habe ich damit verbracht, geeignete Funktionen für meine Zwecke zu finden, da dies so ziemlich meine ersten Zeilen in Clojure sind.

(defn fizzbuzz [n] (cond
    (and (zero? (mod n 3)) (zero? (mod n 5))) "fizzbuzz"
    (zero? (mod n 3)) "fizz"
    (zero? (mod n 5)) "buzz"
    1 n
))
(map fizzbuzz (range 1 20))                          
(1 2 "fizz" 4 "buzz" "fizz" 7 8 "fizz" "buzz" 11 "fizz" 13
14 "fizzbuzz" 16 17 "fizz" 19)

Naja, ein Blick in die Code Beispiele der Seite verrät bessere Versionen. Es scheint aber als wären die Katas auch eine gute Möglichkeit um einfach eine Sprache zu lernen, vor allem Dank der Benutzer Lösungen. http://codingkata.org/katas/unit/fizz-buzz/solutions

Mehr über Clojure gibt es hier http://clojure.org/ und in den Screencasts, welche meiner Meinung nach eine sehr schöne Möglichkeit sind etwas über die Sprache zu lernen. http://clojure.blip.tv/posts?view=archive&nsfw=dc

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: