Swift: typealiasのスコープ
Type Aliasのスコープってどうなってるんだろうという単純な疑問。
ドキュメントを見ても書いてない(見てるところが違う?)。
The Swift Programming Language (Swift 4.0.3): Declarations
通常の変数と同じスコープ管理されてるだろうという仮説のもと、playgroundで試してみる。
do { typealias ColorCode = UInt8 let r = ColorCode.max print(r) } let g = ColorCode.min print(g)
エラーが出る。
Playground execution failed: error: TypeAlias.playground:5:9: error: use of unresolved identifier 'ColorCode' let g = ColorCode.min ^~~~~~~~~
予想通りの結果となった。
Type Aliasに限らず、Declarationsは同じスコープ管理がされているようだ。
The Swift Programming Language (Swift 4.0.3)をざっと読む限りscope
の定義が見当たらないのだけど、暗黙の共通認識という扱いなのだろうか。