【学習kotlinシリーズ】高階関数

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

Qiitaでことりん学習帳を発売しています!

高階関数とは

高階関数とは、関数を引数として受け取ったり、返り値として関数を返したりする関数のこと。同じような機能を持った関数を複数書いてしまう場合に、共通する部分は抽象的に一つの関数に集約してしまうことで、コードが短く書けたりするメリットが有る。

だめな例

だめな例として、文字列中の中から小文字が最初に出てくる位置を教えてくれる関数と、文字列中から最初に大文字が出てくる関数を実装することになったとして、次のように書いた。

実行結果

実装上は正しい。ただ、findLower関数とfindUpper関数をよく見てみると

when文の中の、大文字を見つける部分と小文字を見つける部分以外は全く同じコードだ。つまりその「それ以外」の部分を抽象化することで、コードを集約できる。集約したコードが以下の通り。

実行結果

find関数がfindLower関数とfindUpper関数を抽象化することで、コードの集約に成功している。

さらに ラムダ関数 と組み合わせるとスマートに書ける。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です