在一个快速的操场上打破(偶然)无限循环

Ron*_*ers 6 xcode hang swift-playground

当我在一个快速的游乐场玩耍时(名字中有什么),我不小心进入了一个无限循环,就像这样:

var l = 3
while (l > 2) {
  println(l)
  l++
}
Run Code Online (Sandbox Code Playgroud)

这导致操场无休止地打印到控制台,Xcode卡在控制台上

我发现的唯一方法是通过终端窗口杀死Xcode,但是我希望有一些更优雅的方法可以"停止"游乐场的执行?

小智 5

Playground完全按照设计运行,但它确实应该有一种在编辑代码时立即停止执行的方法.我在编辑过程中以与您相同的方式进入无限循环,并且通常在编辑for或while循环中的条件时发生.

我通过在我正在编辑的行上故意键入一些乱码字符来解决这个限制,或者如果编辑多行则在单独的行上键入.游乐场会喋喋不休地停止执行代码.当我完成编辑后,我删除了乱码,以便Playground可以再次执行代码.

例如,如果我想编辑此行:

for var j=0;j<10000000;j=j+1000 {
Run Code Online (Sandbox Code Playgroud)

我将首先添加乱码:

for var j=0;j<10000000;j=j+1000 { adsklfasd
Run Code Online (Sandbox Code Playgroud)

然后我会做我的编辑:

for var j=0;j<500;j=j+10 { adsklfasd
Run Code Online (Sandbox Code Playgroud)

那么我将删除乱码,只留下好的代码:

for var j=0;j<500;j=j+10 {
Run Code Online (Sandbox Code Playgroud)

只要adsklfasd在那里,Playground就不会执行.

胡言乱语不一定要在for声明的最后; 如果你愿意,你可以将它放在一个单独的行上.

它不是一个优雅的解决方案,但它快速简便且有效.希望这可以帮助.

  • 同意,确实令人惊讶的是没有 Control-C 相当于强制中断。 (2认同)