2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ラムダ式する意味?

Posted at

ラムダ式が一体なんなのか、通常のものと何が違うのか、メリットは何か、どういう場面で使うのか。
僕はこれらを全く理解していなかったので、ここでまとめてみようと思う。

まずラムダ式とは
「関数オブジェクトを直接生成するコードのこと」

ん???

初めて学んだときは全く理解できなかった。
僕なりに理解して、わかりやすく一言で言うと、
「関数定義を減らせるよ?」
てことなんだと思う。

以下は例。

//ラムダ式を使わない場合。
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つのコードは全て同じことをしようとしている。
確かに関数の定義をせずとも、同じ結果を得ることができている。

ただ現状書いてみたところ、、、
「メリットある?」
て感じてしまった。

もっと勉強したら、メリットや使うべき場面がわかってくるのだろう。
さらに理解したら、追加記事を書いてアウトプットしていこう。
将来作る自分の会社で建設業界をよりよくするために。

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?