Uma maneira fácil de executar um código rápido a partir do Terminal é definindo o hashbang ( #!
).
#!/usr/bin/xcrun swift -i
func hanoi<T>(numberOfDisks n :Int, fromRod f: T, toRod t: T, usingRod u: T, closure: (T, T) -> ()) {
if n > 0 {
hanoi(numberOfDisks: n - 1, fromRod: f, toRod: u, usingRod: t, closure)
closure(f, t)
hanoi(numberOfDisks: n - 1, fromRod: u, toRod: t, usingRod: f, closure)
}
}
hanoi(numberOfDisks: 4, fromRod: "A", toRod: "B", usingRod: "C") {
println("Move from ($0) to ($1)")
}
Depois que o hashbang é definido, o arquivo pode ter seus bits de modo alterados para torná-lo executável.
$ chmod +x hanoi.swift
E, finalmente, o Swift em execução no terminal:
$ ./hanoi.swift
Move from A to C
Move from A to B
Move from C to B
Move from A to C
Move from B to A
Move from B to C
Move from A to C
Move from A to B
Move from C to B
Move from C to A
Move from B to A
Move from C to B
Move from A to C
Move from A to B
Move from C to B
Mas observe que o swift
comando é instalado pelo Xcode 6 e não é visível enquanto o Xcode 5 é o Xcode padrão definido para desenvolvimento. Para torná-lo visível, é necessário mudar para o Xcode 6 executando o comandoxcrun
$ xcrun -s /Application/Xcode6-Beta2.app