Xcode 10游乐场变量初始化更改?Xcode 10游乐场是翻译吗?

Xcode 10游乐场变量初始化更改?Xcode 10游乐场是翻译吗?,xcode,read-eval-print-loop,swift-playground,Xcode,Read Eval Print Loop,Swift Playground,我注意到,Xcode 10中的操场不再允许使用声明的、但未初始化的变量。例如: 虽然此代码可以在Xcode 9游乐场中工作,但在Xcode 10游乐场中(至少在Beta 1中),它会崩溃: var myValue: Int //... myValue = 100 print (myValue) // Xcode 9 prints 100 // Xcode 10 reports an error: variables currently must have an initial value w

我注意到,Xcode 10中的操场不再允许使用声明的、但未初始化的变量。例如: 虽然此代码可以在Xcode 9游乐场中工作,但在Xcode 10游乐场中(至少在Beta 1中),它会崩溃:

var myValue: Int
//...
myValue = 100

print (myValue)

// Xcode 9 prints 100
// Xcode 10 reports an error: variables currently must have an initial value when entered at the top level of the REPL
  • 这是新的行为,还是只是当前Xcode 10测试版中的一个bug

  • >P>我以前提到过XCODE游乐场作为解释器,但是人们还会认为XCODE 10游乐场是一个解释器(而且总是正确的)吗?苹果将排水沟中的“运行”按钮称为“编译”代码

    谢谢

    1)如果不初始化let声明的常量,则现在得到的错误是从Xcode 10开始的新错误,但仅在Swift REPL或PLAYOND中出现,而不是编译代码(见下文)


    2) (Read-Eval-Print循环)和解释器几乎是一回事,但不是一回事。REPL是一个交互式文本编辑器,它读取代码语句,执行它们,并打印结果,在编辑文本时循环。当您在操场上进行编辑时,Xcode会一次又一次地重新执行编辑器中的所有代码,每次执行一行,就像您第一次在每行中键入代码一样。这与解释器的不同之处在于,解释器通常从输入文件中读取代码,一次解释并执行一行代码,而不是在执行开始之前先编译并链接到机器代码。

    我遇到了这个错误。我有两个不同的操场,一个有错误,一个没有。问题是我的游乐场没有设置“自动跑步”。要设置该选项,请单击操场中调试窗口顶部的播放箭头,您将看到“自动运行”选项,选择它

    必须是,自动运行模式更像是运行整个程序,而手动运行则不是