是有办法引进的“范围”的概念,而在操场上不断尝试新东西出来?复制声明中迅速playgground
假设你想测试一个类的几个实现MyClass所以你声明它,写一些代码来测试的东西。然后,您决定要比较,与MyClass类实现的另一个版本。
重新声明MyClass的将给予重声明错误。
所以我可以有游乐场,从第二分开处理的MyClass第一个声明和相关的代码不改变类名或创建多个游乐场?
谢谢
是有办法引进的“范围”的概念,而在操场上不断尝试新东西出来?复制声明中迅速playgground
假设你想测试一个类的几个实现MyClass所以你声明它,写一些代码来测试的东西。然后,您决定要比较,与MyClass类实现的另一个版本。
重新声明MyClass的将给予重声明错误。
所以我可以有游乐场,从第二分开处理的MyClass第一个声明和相关的代码不改变类名或创建多个游乐场?
谢谢
不,没有。游乐场文件依赖于顺序,并以自上而下的词法顺序运行。
这是一个黑客攻击的一位,但您可以使用nested types这 - 声明struct
的唯一目的,其中是有这种范围界定的:
struct Scope1 {
class MyClass { }
}
struct Scope2 {
class MyClass { }
}
let x = Scope1.MyClass()
let y = Scope2.MyClass()
// if you want to quickly switch between using
// one vs the other
typealias MyClass = Scope1.MyClass
let z = MyClass()
嘿空速,这是最好的解决方案(破解),但希望更好的东西:)谢谢你的建议,也感谢@Dreaming二进制。 – djeetee