2016-05-23 32 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,并且“重置”命令将非常有用。 – joan

回答

3

后你提我想也许类使用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(终止循环)。

+0

嘿@werediver这是我在很多时间里看到的最好的黑客!真棒!非常感谢 – joan