いろいろと耳を塞いで生きてきたと思う。
運が良ければスルーできるのだが、そうならない場合も多い。
Lambda関数はどうだろう?
まだわからないのだが、調べるに越したことはない気がしている。
まずはこちらから。
アロー関数 - TypeScript Deep Dive 日本語版
https://typescript-jp.gitbook.io/deep-dive/future-javascript/arrow-functions
アロー関数の説明で、「または」ということで Lambda関数という呼び名を紹介している。
アロー関数は私もしばしば使う。 function でも => でもどっちでもよいときはどうしたもんだか、と悩みはするものの、アロー関数じゃないとダメなところもたまにあるので、そんなに忌避しているわけではない。
this がどうのこうのは JavaScript の話だと思う。
となると、アロー関数が Lambda 関数とも呼ばれるような要素と言ったら「function と打つのが長い」しか当てはまらないと思うのだよ。
しかし、 Kotlin なんかは fun だし、Golang(に Lambda関数があるかは知らんが) は func だ。これを長いというのはちょっと無理があるだろう。
となると、変数に代入するような書き方ができるとかか?
検索すると AWS のも出てくるが、そちらで調べていくと今の知識だと間違えそうなのでやめておく。
あとは Excel と Python が出てきた。
よし、Python で見よう。
Pythonのlambdaって分かりやすい - Qiita
https://qiita.com/nagataaaas/items/531b1fc5ce42a791c7df
最初に「無名関数」と説明してある。
あれ、無名関数って別の呼び方をされてなかったっけ?
無名クラスか。 Java だったような気がするが、入れ子でクラスを書くときにそういうのが出てきたような。
hiro99ma blog: [android]Java8への思いやりを形に
https://hiro99ma.blogspot.com/2015/11/androidjava8.html
Android Studio が私が書いたコードを勝手に省略しようとするから腹が立ったという話だ。
このときもあんまりわからずに終わっているが、結局は見栄えだとか手軽とか、そこら辺が魅力ということなのだろうか。
もっと一般的な何かがあるはずだ。
language agnostic - What is a lambda (function)? - Stack Overflow
https://stackoverflow.com/questions/16501/what-is-a-lambda-function
一気に難しそうな話になってしまった・・・。
少なくとも、私の力で読み解くのは難しそうだ。
無名関数 - Wikipedia
https://ja.wikipedia.org/wiki/%E7%84%A1%E5%90%8D%E9%96%A2%E6%95%B0
ラムダ式・・・関数型言語・・・うぅ、頭が・・・。
しかし、JavaScript ってこんな書き方ができるんだ、と思っていた部分の一つが Lambda関数 / Lambda式 / 関数オブジェクト / 無名関数 と呼ばれるものの概念などを言語に落とし込んだ結果なのだろう。
なので、あまり難しく考えず、JavaScript のアロー関数など、と覚えておくことにしよう。どうせ正解はないのだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。