まあ、よくあるクロージャだ。

func getCounter()->()->Int {
    var counter = 0
    return { () in ++counter }
}

var countUp = getCounter()
println(countUp())  // "1"を表示
println(countUp())  // "2"を表示
println(countUp())  // "3"を表示

getCounter()は、getCounter関数のローカル変数counterをインクリメントする関数(クロージャ)を返す関数だ。