ラムダ式が一体なんなのか、通常のものと何が違うのか、メリットは何か、どういう場面で使うのか。
僕はこれらを全く理解していなかったので、ここでまとめてみようと思う。
まずラムダ式とは
「関数オブジェクトを直接生成するコードのこと」
ん???
初めて学んだときは全く理解できなかった。
僕なりに理解して、わかりやすく一言で言うと、
「関数定義を減らせるよ?」
てことなんだと思う。
以下は例。
//ラムダ式を使わない場合。
fun main(args:Array<String>){
fun cal(x: Int) {
println(x * x)
}
cal(4)//結果:16
}
//ラムダ式を使った場合
fun main(args:Array<String>){
val square:(Int) -> Int = { x: Int -> x * x }
println(square(4))//結果:16
}
//ラムダ式を使ってさらに省略した場合
fun main(args:Array<String>){
val square = {i: Int -> i * i }
println(square(4))//結果:16
}
上記の3つのコードは全て同じことをしようとしている。
確かに関数の定義をせずとも、同じ結果を得ることができている。
ただ現状書いてみたところ、、、
「メリットある?」
て感じてしまった。
もっと勉強したら、メリットや使うべき場面がわかってくるのだろう。
さらに理解したら、追加記事を書いてアウトプットしていこう。
将来作る自分の会社で建設業界をよりよくするために。