Ios 为什么操场行为奇怪。下面的代码显示了编译器错误以及运行代码时的正确输出

Ios 为什么操场行为奇怪。下面的代码显示了编译器错误以及运行代码时的正确输出,ios,swift,Ios,Swift,有一个func校验和。我在初始化sumation变量之前调用了checkScope()。如果我再次调用checkScope(),代码会运行得很好 func checkScope (){ sumation = 6 print(sumation) } checkScope() var sumation = 5 checkScope() 操场很有礼貌,虽然它是错误的,但它执行代码。原因是,与Xcode项目不同,您可以在操场的顶层运行代码 在项目中,您将得到一个未解决的标识符

有一个func校验和。我在初始化sumation变量之前调用了checkScope()。如果我再次调用checkScope(),代码会运行得很好

func checkScope (){
     sumation = 6
     print(sumation)
   }
checkScope()
var sumation = 5
checkScope()

操场很有礼貌,虽然它是错误的,但它执行代码。原因是,与Xcode项目不同,您可以在操场的顶层运行代码

在项目中,您将得到一个未解决的标识符编译器错误

规则是:在使用之前,必须声明并初始化变量(在同一范围内)

尽管如此,编译器错误也会出现在操场上


你怎么能既得到编译错误又能够运行代码呢?在现实生活中(在项目中而不是在操场上),代码没有编译。检查playgroud。项目正在编译并给出输出。这是swift的一种奇怪行为。我不知道为什么会发生这种情况,在操场上它的行为很奇怪。这是您的问题吗?是的,显示了编译器错误,但输出也正确无误。现在我认为它在顶级上运行所有内容,这可能就是原因。感谢您的帮助//:player-名词:人们可以玩的地方。操场的环境不像现实生活中的环境那么无情