2016-09-20 23 views
0

私は非常に簡単なプロジェクトを持っています。 Xcode 8.0を使用してSwift 3.0で書かれたコマンドラインツールです。このプログラムは次のとおりです。マークされSwift 3.0未解決の識別子の使用

import Foundation 

func aaa() { 
    print(a) 
    print(b) 
} 

let a = "a" 
let b = "b" 

aaa() 

そしてライン

print(b) 

:これは完全によく、印刷取り組んでいる

import Foundation 

func aaa() { 
    print(a) 
} 

let a = "a" 

aaa() 

「」コンソールでは、これより複雑なプログラムを行うことができますエラーあり

Use of unresolved identifier 'b'

私たちも簡単に作ることができます。

import Foundation 

func aaa() { 
    print(a) 
} 

aaa() 

let a = "a" 

そして再び、ライン

print(a) 

がエラー

Use of unresolved identifier 'a'

が付いている私は、初心者にはないと私は、私は簡単にこのエラーを修正することができundertandすべての変数をプログラムの先頭に置くのが好きです。問題はなぜ起こっているのですか? 私は各ファイルが拡張子.swiftであると思っていました。クラスであり、変数と関数を置くことができ、任意の順序で関数を呼び出すことができます(すべての変数と定数はグローバルになります)...最後に、 Swift 2.2でこれをテストするが、以前はこのバグに直面していたことを覚えていないので、Swift 3.0コンパイラのエラーになる可能性はありますか? ありがとうございました!

答えて

0

スウィフト、コンパイラのエラーと表示されます。私は他の変数とそれをテストしたとき

enter image description here

それは常に最初の問題をスキップし、最初に、第二の可変に準拠しています。 アクセス変数に望んでいた場合

は一般的に、それはそれは宣言されなければならない、機能内だし、そのような変数を使用して任意のアクションをやってみたかったです。

私はこのコンベンションにどこでも従います。

+0

ありがとうございました。これをAppleに報告すればどう思いますか? – Alex

+0

はい、どうしてですか?あなたが運が良ければ、彼らが別の説明であなたに返信する場合は、ここでそれを共有することを忘れないでください:) – pedrouan

+0

私は、それのために時間が必要です... – Alex

関連する問題