среда, 28 августа 2013 г.

Function Composition

Это техника создания третьей функции, которая возврщает результат путем передачи результата одной функции в параметр другой.
Вот пример с использованием метода compose:
scala> def f(s: String) = "f(" + s + ")"
f: (String)java.lang.String

scala> def g(s: String) = "g(" + s + ")"
g: (String)java.lang.String

scala> val fComposeG = f _ compose g _
fComposeG: (String) => java.lang.String = <function>

scala> fComposeG("yay")
res0: java.lang.String = f(g(yay))

Есть еще другой метод, который применяет функции наоборот, andThen:
scala> val fAndThenG = f _ andThen g _
fAndThenG: (String) => java.lang.String = 

scala> fAndThenG("yay")
res1: java.lang.String = g(f(yay))

 

Комментариев нет:

Отправить комментарий