【发布时间】:2018-02-02 15:22:45
【问题描述】:
什么是链接函数调用的惯用方式,在每个函数调用之间传递结果,并在 Scala 中传递参数?
这是一个例子:
def a(x : A, param : String) : A = x
def b(x : A, param : String) : A = x
def c(x : A, param : String) : A = x
def d(x : A, param : String, anotherParam : String) : A = x
val start = A()
d(c(b(a(start, "par1"), "par2"), "par3"), "par4", "anotherPar")
我想到的一种方法是 Ruby 的 Kernel#yield_self,它允许执行以下操作:
start
.yield_self {|x| a(x, "par1") }
.yield_self {|x| b(x, "par2") }
.yield_self {|x| c(x, "par3") }
.yield_self {|x| d(x, "par4", "anotherPar) }
【问题讨论】:
标签: scala