2017-05-16 4 views
1

Array/Dict/OptionalがSwiftの複合型でないのはなぜですか? <a href="https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Types.html#//apple_ref/swift/grammar/tuple-type" rel="nofollow noreferrer">documentation</a>から

は、ユーザ定義の名前のタイプに加えて、スイフト標準ライブラリは、配列、辞書、および任意の値を表すものを含む多くの一般的に使用される名前付きの型を定義します。

[...]

2つの化合物の種類があります:関数型やタプルのタイプは。

まあ...辞書、配列、およびオプションは、複合型ではなく、名前付きの型であるようです。

タプルと関数型の間に複合型でない理由がわかりません。私の見通しから、は、すべてこれらのタイプが他のタイプのホストであるのでです。

ように、2つのソリューション:

  • は、化合物の種類についての何かがあります私は
  • 私は

答えて

0

ドキュメントは明記を理解していないタプルと機能の種類についての何かがありますを理解していません複合型は名前を持たない型です。関数のシグネチャまたは変数にこれらの型を指定するときタプル型と関数型、すなわち名前を持っていない、あなたは型を指定するための独自の具体的な表記法を使用する必要があります代わりに、let a : Tupleまたはlet f : functionを言わない - let a: (Int, Int)またはlet f: (Int, Int) -> Int

複合型は "他の型のホスト"とは何の関係もありません。

+0

"コンパウンドタイプには、名前付きタイプと他のコンパウンドタイプを含めることができます。"また、名前についてのあなたの区別は曖昧です。関数とタプルは型名として機能する名前を持っています。私はこれが十分に質問に答えるとは思わない。 – sdasdadas

+0

@sdasdadasすべてのタイプは1)その定義と2)オプションで名前があります。タプルは名前を持たず、その定義を使用しなければならず、関数も同じでなければなりません。タイプエイリアスは、タイプの名前のアイデアとは異なります。 – Ankur

+1

それは区別するのは大丈夫です。しかし、OPは、これがそうであるように依頼しています。 – sdasdadas

関連する問題

 関連する問題