質問: .Black ``` このコードの、subscriptのgetとsetの中でcheckSquareメソッドを実行していますが、なぜcolumnにラベル(外部名)が付いているのでしょうか? checkSquareの定義のところでは、引数名だけでラベルは定義されていません。 しかし、getとsetの中でcheckSquareメソッドの、rowにラベルを付けたり、columnのラベルを外すとエラーがでます。 よろしくお願いします。
回答: Swift は新しい言語ですが、OS X / iOS プラットフォームでこれまで使われていた Objective-C からの移行をしやすくするための仕様も含まれています。 メソッドの構文は関数の構文と同じなのですが、第一引数の外部名はデフォルトでは付けることができず、第二引数の外部名には、暗黙的に内部名が使われます。 これには、Swift のメソッド名に当たる部分に第一引数のラベル部分が含まれ、第二引数以降のラベルを(普通は)省略しない、という Objective-C のメソッド名の特徴が引き継がれています。 挙げていただいたウェブサイトにも詳しく書かれているようですので、参考にしてみてください: メソッド | Swift言語を学ぶ