0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

トレイリングクロージャ

Last updated at Posted at 2024-10-22

クロージャ(無名関数)とは

・クロージャは引数として渡すことができるオブジェクト。
・クロージャは、引数として使用できる処理の塊です。
・クロージャ自体は引数ではなく、関数やメソッドに引数として渡すことができます。
・関数の引数に関数を用いたい場合に、クロージャが活躍します。
以下は、関数内でクロージャを呼び出す際の例です。引数名と関数呼び出し名は同じ名前を使う必要があります。

func numArrAndClosure(numArr: [Int], closure: (Int) -> Void) {
    for num in numArr {
        closure(num)
    }
}

numArrAndClosure(numArr: [1, 2, 3, 4, 5], closure: { x in print(x + 1) })

トレイリングクロージャとは何か

メソッドや関数の最後の引数がクロージャの場合、クロージャを括弧 () の外に書くことができる記法が「トレイリングクロージャ」です。

基本的な構文の説明

Swiftでは、クロージャを関数の最後の引数として渡す場合、トレイリングクロージャ構文を使うことでコードを簡潔に記述できます。
・通常のクロージャ:

numArrAndClosure(numArr: [1, 2, 3, 4, 5], closure: { x in primeJudge(x) })

・トレイリングクロージャ:

numArrAndClosure(numArr: [1, 2, 3, 4, 5]) {
    x in primeJudge(x)
}

・通常の渡し方では、引数ラベルを明示的に指定する必要があります。
・トレイリングクロージャを使用することで、クロージャを関数呼び出しの外に書くことができ、可読性を向上させることができます。

トレイリングクロージャの利点:

・トレイリングクロージャは、関数の最後の引数としてクロージャを使う場合に、括弧を省略できるため、コードがすっきりします。
・これにより、クロージャの内容が際立ち、全体の可読性が向上します。

0
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?