如何重置 Swift REPL?

How to reset the Swift REPL?

如您所知,安装后 XCode 您只需输入 $swift 即可获得 REPL 在终端上。然后您可以复制并粘贴您的代码:

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

在这种情况下,您会得到一个结果 ([2, 4, 6, 8, 10])。 但是,您如何 "reset" 会话才能以干净的状态启动?一种选择是使用 :q 退出会话并再次进入。有更好的方法吗?

你在 类 中提到 Swift REPL 的使用后,我想也许你会对这样一个卑鄙的把戏感到满意:

$ 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(终止循环)完全退出。