99 Bottles of Beer (Swift)

von Hubert Schmid vom 2014-07-20

Einfache Beispiele können helfen, sich mit neuen Programmiersprachen vertraut zu machen. In diesem Fall ist das einfache Beispiel die Ausgabe von 99 Bottles of Beer, und die neue Programmiersprache ist Swift – die designierte Programmiersprache für Apples Plattformen.

Das folgende Listing enthält eine vollständige Implementierung in Swift. Die Anweisungen lassen sich in dieser Form gleichermaßen im Playground wie als eigenständiges Kommandozeilenprogramm ausführen. Auf Boilerplate haben die Sprachentwickler dankenswerterweise weitgehend verzichtet.

func printLyrics(#numberOfBottles: Int) { let numeral : Int -> String = { $0 == 0 ? "no more" : String($0) } let plural = [ false: "bottle", true: "bottles" ] let phrase : Int -> String = { "\(numeral($0)) \(plural[$0 != 1]) of beer" } for i in reverse(1...numberOfBottles) { println("\(phrase(i)) on the wall, \(phrase(i)).") println("Take one down, pass it around, \(phrase(i - 1)) on the wall.\n") } println("No more bottles of beer on the wall, \(phrase(0)).") println("Go to the store and buy some more, \(phrase(numberOfBottles)) on the wall.\n") } printLyrics(numberOfBottles: 99)

Zum Einsatz kommen bei dieser Implementierung gleich eine ganze Reihe interessanter Features, die kurz erwähnt werden sollten:

Bei all diesen Punkten sollte man sich stets vor Auge halten, dass Beispiele dieser Art keineswegs repräsentativ für die tatsächliche Softwareentwicklung sind. Swift macht in diesem Fall zwar eine gute Figur. Interessanter wäre hingegen, wie sich die Programmiersprache bei der Strukturierung größerer Projekte schlägt. Ein Thema was sicherlich eine weitere Betrachtung Wert ist.