1. ホーム
  2. swift

Swiftの_: は何を語っているのか?

2023-11-18 05:56:54

質問

関数定義における単独のアンダースコアの意味は何ですか?

map(_:)

関数を定義するときにできることを理解しました。

func myFunc(_ string: String) { ... }

というように参照するのでしょうか? myFunc(_:) ではなく myFunc(_string:) というように、意図的にパラメータ名を隠しているのでしょうか?

どのように解決するのですか?

この _ は、パラメータが名前付きでないことを定義するために使用されます。

もし、複数の _ がある場合、関数呼び出しのパラメータに名前を付ける必要はないことが書かれています。

func myFunc(name:String, _ age:String){
}

myFunc(“Milo", "I'm a really old wizard")

アンダースコアを使用しない場合、以下のようになります。

myFunc(“Milo”, age: "I'm a really old wizard")

_ は関数呼び出しには必要ありません。これは、名前を持つ必要がないことを示すために使われるだけです。

関数をどのように参照するかについてですが、関数呼び出しのために名前を渡す必要はありません。

しかし、あなたはまた、パラメータの型を定義しないので、これは無効な例のように私には思えます(それは、少なくともSwift 2.0とXcode 7で動作しません)。

編集します。

Swift 3.0以降

myFunc(name: “Milo”, age: "I'm a really old wizard")

使用する必要があります