yoshikit1996’s diary

日々勉強したことの備忘録です。

2018-08-18から1日間の記事一覧

カリー化と部分適用の関係

カリー化 カーリー化とは、 カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと…

共変(covariant)と反変(contravariant)

Scalaのプログラムで[+A]とか[-A]というやつが出てきますが、これは変位指定アノテーションと言います。次のプログラムにおいて、BがAを継承しているときに右辺を左辺に代入することができます。これを共変と言います。 val myClass: MyClass[A] = new MyCla…

Scalaのメソッドの括弧()と副作用

括弧を付けずに関数定義して、呼び出しで括弧をつけるとエラーになります。 def f() = println("Hello") // 括弧をつける def g = println("World") // 括弧をつけない f() f // g() // error: Unit does not take parameters g 作法として、副作用がある関…