2015-05-11 58 views
1

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

假設你想測試一個類的幾個實現MyClass所以你聲明它,寫一些代碼來測試的東西。然後,您決定要比較,與MyClass類實現的另一個版本。

重新聲明MyClass的將給予重聲明錯誤。

所以我可以有遊樂場,從第二分開處理的MyClass第一個聲明和相關的代碼不改變類名或創建多個遊樂場?

謝謝

回答

0

不,沒有。遊樂場文件依賴於順序,並以自上而下的詞法順序運行。

1

這是一個黑客攻擊的一位,但您可以使用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() 
+0

嘿空速,這是最好的解決方案(破解),但希望更好的東西:)謝謝你的建議,也感謝@Dreaming二進制。 – djeetee