Auf der Site http://99-bottles-of-beer.net/ Kann man an Hand eines einfachen Beispiels viele Programmiersprachen vergleichen. Alle müssen den gleichen Liedertext ausgeben:
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.
[...]
One bottle of beer on the wall, One bottle of beer.
Take one down and pass it around, No more bottles of beer on the wall.
No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
Für meine Lieblings-Sprachen Perl und Ruby gibt es jeweils mehrere Implementierungen.
Da ich keine Ruby-on-Rails Implementierung finden konnte habe ich selbst eine gebaut. Der fertige Code ist auf github, die fertige Applikation auf heroku.
Die Applikation braucht nicht das ganze Model – View – Controller Pattern. Es gibt einfach kein Model. Der einzige Controller heißt wall. Er kann mit einem Argument aufgerufen werden um die Anzahl der Flaschen festzulegen: http://bottles.heroku.com/wall/99 oder http://bottles.heroku.com/wall/3
Die View enthält die Schleife zum ‘herunterzählen’ der Flaschen – es handelt sich ja um display-logik. Eine Helper-Funktion say_bottles(@i) erledigt die korrekte Anzeige der Flaschen (2 bottles, One bottle, no more bottles).
Mal sehen ob mein Beitrag bei 99-bottles-of-beer.net aufgenommen wird.
p.s. das Publizieren nur mit git ist sehr bequem.
p.p.s. (am 2.Okt 2009) das Programm wurde nun offiziell aufgenommen auf der 99 Bottles Website.
Recent Comments