功能组成动态

cch*_*son 5 scala function-composition

比方说我有一个功能move.

现在,根据一些输入(假设输入显示"Move by 3"),我必须移动3次.

我会这样做:

move compose move compose move
Run Code Online (Sandbox Code Playgroud)

是否可以动态地进行功能组合?这样我就可以根据我必须移动的次数来构建我的新函数.

谢谢

Mar*_*rth 11

你可以使用这个Function.chain方法:

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

scala> val move5 = Function.chain(List.fill(5)(move1))
move5: Int => Int = <function1>

scala> move5(5)
res1: Int = 10
Run Code Online (Sandbox Code Playgroud)