【问题标题】:How to reset the Swift REPL?如何重置 Swift REPL?
【发布时间】:2016-05-23 12:55:20
【问题描述】:

如您所知,一旦安装了 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])。 但是您如何“重置”会话以从干净状态开始?一种选择是使用 :q 退出会话并再次输入。有更好的方法吗?

【问题讨论】:

  • 看起来没有比手动退出并重新启动更好的方法来重置 REPL。
  • @werediver 我明白了。我在我的课程中使用 REPL,“重置”命令会非常有用。

标签: swift read-eval-print-loop


【解决方案1】:

在你提到在课程中使用 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(终止循环)。

【讨论】:

  • 嘿@werediver 这是我在很多时候看到的最好的黑客!惊人的!非常感谢
猜你喜欢
  • 2015-04-19
  • 2017-11-29
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
相关资源
最近更新 更多