2016-05-23 4 views
1

enter image description hereКак сбросить Swift REPL?

Как вы знаете, после установки XCode вы можете получить в REPL, просто набрав $ стремительные на терминале. Затем вы можете скопировать & вставить код:

func isEven(number: Int) -> Bool { 
    return number % 2 == 0 
} 
let evens = Array(1...10).filter(isEven) 
print(evens) 

и вы получите результат ([2, 4, 6, 8, 10]) в этом случае. Но как вы «перезагружаете» сеанс, чтобы начать с чистого состояния? Один из вариантов - выйти из сеанса с помощью: q и ввести снова. Существует лучший способ?

+1

Похоже, нет лучшего способа сбросить REPL, чем вручную завершить и начать заново. – werediver

+0

@werediver я вижу. Я использую REPL в своих классах, и команда «reset» будет очень полезна. – joan

ответ

3

После упомянуть использование Swift РЕПЛ в классах, я думал, может быть, вы получите удовлетворены такой подвох:

$ while true; do swift; done 
Welcome to Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.30). Type :help for assistance. 
    1> let x = 1 
x: Int = 1 
    2> x 
$R0: Int = 1 
    3> :q 
Welcome to Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.30). Type :help for assistance. 
    1> x 
repl.swift:1:1: error: use of unresolved identifier 'x' 
x 
^ 

    1> :q 
Welcome to Apple Swift version 2.2 (swiftlang-703.0.18.8 clang-703.0.30). Type :help for assistance. 
    1> ^D 
^C 
$ 

Полный бросить курить можно, быстро нажатием ^D (EOF, чтобы прекратить REPL), затем ^C (для завершения цикла).

+0

Эй, @werediver, это лучший хак, который я видел за много времени! Потрясающие! большое спасибо – joan

Смежные вопросы