Function composing feeds the output of one function to the input of another function. Look at the implementation of compose and select the correct result of code execution
 def compose[A, B, C](f: B => C, g: A => B): A => C =
  a => f(g(a))

def f(b: Int): Int = b / 2
def g(a: Int): Int = a + 2

compose(f, g)(2)
compose(g, f)(2)
Explanation
Let’s see how composition of functions is performed step-by-step:
compose(f, g)(2)  
f(g(2))
(2 + 2) / 2
2

compose(g, f)(2)
g(f(2))
(2 / 2) + 2
3

Source: Scala Exercises: getting started with functional programming

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Scala
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты