こんにちは😀
今回は、ラムダ式をみてみます。
ラムダ式とは、無名関数の1つです。
無名関数とは、名前を付けずに定義される関数です。
ラムダ式の前に、無名関数を書いてみます。
以下は通常の名前のある関数です。
fun add(a:Int,b:Int):Int=a+b
そして、これが無名関数です。
処理は同じですが、関数名が抜けています。
fun(a:Int,b:Int):Int = a+b
main関数に書いてみましょう。
無名関数は値として使用するため変数にセットできます。
なので、無名関数ごとmain関数内に記述しています。(5行目)
通常の関数は、main関数の外に記述し呼んでいます。(3行目)
fun main(args: Array<String>) {
println(add(3,6))
val addItem = fun(a:Int,b:Int):Int = a+b
println(addItem(3,6))
}
実行します。
引数も同じで、無名関数が同じ値を出力しています。
そして、ラムダ式です。
無名関数の一種なので、当然関数名がありません。
関数型プログラミングとしても呼ばれ、関数の記述を簡潔にすることが
できます。
java ではバージョン8から使用が可能になっています。
ではKotlinではどうかというと、main関数内に記載しましょう。
ラムダ式は、全体を「{….}」で囲み、引数と戻り値の間を「->」で
繋ぎます。
以下は、引数aとbでa+bを戻り値としています。
val addlambda = {a:Int,b:Int -> a+b}
println(addlambda(3,6))
もう1つ書いてみます。
以下は、変数に型指定する書き方です。
この変数「multiply」は、
「2つのIntを引数にし、1つの戻り値Int」を意味しています。
val multiply:(Int,Int)->Int
そして、以下は型指定してから、2つの引数に積の戻り値の
ラムダ式を与えています。
val multiply:(Int,Int)->Int={a,b->a*b}
println(multiply(3,6))
実行すると、正確に計算結果が出力されています。
ラムダ式はあまり使ったことはなく名前を知っている程度でしたが、
実際使ってみると短いコードで書けるのが分かりますし、
その見やすさも高評価です。
今回はここまで🤚
では、また次回。
コメント