2015-08-13 49 views
3

我一直在閱讀蘋果公司的Swift編程語言手冊(Swift 2.0的版本更新),我發現了一些相當好奇的東西。 在Language Reference>Lexical Stricture>Keywords and Punctuationlink here - 但你需要向下滾動一點)有一個語言關鍵字列表。其中一些未在任何地方解釋。在特定情況下保留Swift中的不明原因關鍵字:left,none,right,Type。他們在做什麼?

關鍵詞:關聯性,便利性,動力,didSet,最後,得到的,綴,INOUT,懶惰,留下,變異,沒有,nonmutating,可選,覆蓋後綴,優先級,前綴,協議,要求,正確,集,類型,無主,弱,willSet。在語法出現的上下文之外,它們可以用作標識符。

你有任何線索他們做什麼/意思或在哪裏可以找到適用的信息?

回答

4

leftrightnone用於指定運營商定製的關聯性:

結締組織運算符的ty指定在沒有分組括號的情況下如何將具有相同優先級的運算符序列分組在一起。您可以通過編寫與上下文相關的關鍵字關聯性來指定運算符的關聯性,後面跟着關聯性,該關聯性是上下文相關的關鍵字之一,即left,right或none。

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Declarations.html#//apple_ref/swift/grammar/associativity

Type用於與元類型:

甲元類型類型是指任何類型的類型,包括類類型,結構類型,枚舉類型,協議類型。

類,結構或枚舉類型的元類型是該類型的名稱,後跟.Type。

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html#//apple_ref/swift/grammar/metatype-type

+1

這裏:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/LexicalStructure.html在元類型類型部分,你可以找到關於'Type' –

+0

是的,發佈後發現它。謝謝@DánielNagy! –

+0

現在我的問題是關於.Type和.self之間的區別,如MyClass.Type和MyClass.self –

3

leftrightnone用於關聯性排序宣佈運營商,如當:

infix operator ⊕ { associativity left precedence 140 } 

the Apple docs

相關問題