【Kotlin入門】ラムダ式の使い方〜クラスのプロパティ

Kotlin
スポンサーリンク

こんにちは😀

今回もラムダ式をみていきます。
ラムダ式で言えば第三回になります。

クラスのプロパティに関数(ラムダ式)を持たせる書き方をしてみます。

以下のように、Calculationクラスを作成し、プロパティを定義します。
プロパティは4つ作成します。
4つ目のcalculateが関数のプロパティになります。

class Calculation(
val a:Int,
val b:Int,
val calculate: (Int, Int) -> Int,
val opr:String){

     ・・・・・・・・・・・・①
}

そして、クラスの中(①の部分)に4つのプロパティを用いる関数を作成します。

fun showCalc():String{
return “${a}${opr}${b}=${calculate(a,b)}”
}

そして、main関数を作成します。
関数のリストを作成し、上記のCalculationクラスをセットします。(3〜8行目)
ここはクラスの引数に、第一引数にInt、第二引数にInt、第三引数にラムダ式、第四引数にStringをセットしているのが分かります。
リストからfor文で要素を取り出して、showCalc関数を実行しています(10、11行目)

fun main(args: Array<String>) {

val calculates:List<Calculation> =
listOf(
Calculation(1,2,{a,b->a+b},”+”),
Calculation(1,2,{a,b->a-b},”-“),
Calculation(1,2,{a,b->a*b},”*”)
)

for (calc in calculates) {
println(calc.showCalc())
}
}

実行すると、以下のように順番ずつに式と解が出力されます。
ラムダ式プロパティ1

ラムダ式の関数をクラスのプロパティに置くことで、処理を書ける幅が広がりますね。
プロパティに処理がまとまっていると、そのクラスの役割も分かりやすくなりコードを見やすくもなります。

今回はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

コメント

タイトルとURLをコピーしました