4-2 クロージャ、関数ネスト、カリー化
ポイント:関数オブジェクトを活用する機能が強化されている
クロージャ
クロージャは、Swiftの関数を理解する上で重要なものです。fクロージャは、値としての関数です。Swiftでは、{ }で記述される処理は基本的にすべてクロージャと考えることができます。
このクロージャ(関数オブジェクト)は、関数の引数として利用できます。この際の書き方がいろいろと用意されていて、一番わかりにくい部分かもしれません。
Objective-Cでも、クロージャに相当する機能はあります。それは「ブロック」です。ブロックは、Objective-Cの中でもわかりにくい部分でしょう。「Objective-Cのブロックは苦手」という人は、あまりObjective-Cのことを意識せず、まったく新しい機能としてSwiftのクロージャを覚え直したほうがいいでしょう。
関数リテラルの書き方(1)
{ 引数 in 式 }
関数リテラルの書き方(2)
{ 引数の指定 in
……処理……
}
関数リテラルの書き方(3)
{ ( 引数の指定 )-> 返値の型 in
……処理……
}
関数の引数でクロージャを指定する書き方
( 引数の指定 )-> 返値の型
クロージャを利用する配列のソート関数
変数 = sorted( クロージャ , 配列 )
関数ネストとカリー化
関数のネスト(関
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録