【Kotlin文法】関数型 ②関数を戻り値にする方法

はじめに
Kotlin で戻り値がある関数を書くには : 型 のように戻り値の型を指定します。
fun getSize(height: Int, width: Int): Int {
return height*width
}
この記事では「戻り値の型」に関数を使う方法を紹介します。
fun 関数名(関数のパラメータ): 関数型 = {
}
コードの実行には Kotlin PlayGround を使用しています。
関数を戻り値にする方法
1. パラメータなしの関数
以下のコードを追加します。
6行目
fun playGame(): () -> Unit {
パラメータなしの playGame 関数を用意して、戻り値を関数にしています。
戻り値 () -> Unit は「パラメータなしの戻り値のない関数」です。

以下のように displayStartMessage 関数を作成して戻り値にすることもできます。
コードを実行すると「ゲーム開始」と表示されます。

2. パラメータありの関数
playGame 関数にパラメータがある場合のコードも書いてみましょう。
今回は Boolean 型の変数 isWin が
- true → win 関数を返す
- false → lose 関数を返す
というコードを書きました。
playGame 関数の return と if 文はさらに簡略化して書くことができます。
コードを実行します。
game1 と game2 で 引数の値が違うので、実行結果も変わっていることを確認できます。
