ScalaのcomposeとandThen

f(g(x))なのかg(f(x))なのかすぐにわすれちゃう。メモしておこう。

scala> val f = (x: Int) => 2 * x
f: (Int) => Int = <function1>

scala> val g = (x: Int) => x + 1
g: (Int) => Int = <function1>

scala> f(g(1))
res9: Int = 4

scala> (f compose g)(1)
res10: Int = 4

scala> g(f(1))
res11: Int = 3

scala> (f andThen g)(1)
res12: Int = 3

scala>