是有辦法引進的「範圍」的概念,而在操場上不斷嘗試新東西出來?複製聲明中迅速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