■ はじめに
https://dk521123.hatenablog.com/entry/2023/03/03/000000
で、Scala の メソッド について扱ったが 今回は、Scala の 関数 について扱う。
目次
【1】関数 (Function) 【2】用語整理 1)無名関数 / 匿名関数 / 関数リテラル (Function literal) 2)バインド 【3】メソッドとの違い 【4】イータ展開(Eta-expansion)
【1】関数 (Function)
* Scalaの関数は、 Function0 〜 Function22 までのトレイトのサブクラス
https://scala-text.github.io/scala_text/function.html
例:関数
val add = (x: Int, y: Int) => x + y println(add(1, 2)) // 3
【2】用語整理
1)無名関数 / 匿名関数 / 関数リテラル (Function literal)
* 右辺の関数の本体部分(上の例でいうと、x + y) cf. literal = 本当の,正確な,ありのままの;(強調して)全くの,まさしく
2)バインド
* 関数名(上の例でいうと、add)に代入することを バインドするっという
【3】メソッドとの違い
* メソッドは def キーワードで定義
例:メソッド
def add(x: Int, y: Int): Int = x + y println(add(1, 2)) // 3
【4】イータ展開(Eta-expansion)
* メソッドから関数値への変換 => メソッドを「_」で関数オブジェクトにすること
https://kmizu.hatenablog.com/entry/2016/07/16/174522
関連記事
Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / メソッド ~
https://dk521123.hatenablog.com/entry/2023/03/03/000000