Swiftスタートアップガイド

関数とクロージャ - 4-2 クロージャ、関数ネスト、カリー化

Icon comment count 0
Icon stock count 1

4-2 クロージャ、関数ネスト、カリー化

ポイント:関数オブジェクトを活用する機能が強化されている

クロージャ

 クロージャは、Swiftの関数を理解する上で重要なものです。fクロージャは、値としての関数です。Swiftでは、{ }で記述される処理は基本的にすべてクロージャと考えることができます。

 このクロージャ(関数オブジェクト)は、関数の引数として利用できます。この際の書き方がいろいろと用意されていて、一番わかりにくい部分かもしれません。

 Objective-Cでも、クロージャに相当する機能はあります。それは「ブロック」です。ブロックは、Objective-Cの中でもわかりにくい部分でしょう。「Objective-Cのブロックは苦手」という人は、あまりObjective-Cのことを意識せず、まったく新しい機能としてSwiftのクロージャを覚え直したほうがいいでしょう。

関数リテラルの書き方(1)

{ 引数 in 式 }

関数リテラルの書き方(2)

{ 引数の指定 in
    ……処理……
}

関数リテラルの書き方(3)

{ ( 引数の指定 )-> 返値の型 in
    ……処理……
}

関数の引数でクロージャを指定する書き方

( 引数の指定 )-> 返値の型 

クロージャを利用する配列のソート関数

変数 = sorted( クロージャ , 配列 )

関数ネストとカリー化

 関数のネスト(関

出典情報

Medium

Swiftスタートアップガイド

  • 著者: 掌田 津耶乃

コメント

    コメントはありません