【发布时间】:2017-01-31 06:42:42
【问题描述】:
我有一个这样的代码 sn-p:
def until(terminationCond: List[A]=>Boolean, combiner: List[A]=>List[A] )(obj: List[A]): A = {
var tempObj = obj
while(!terminationCond(tempObj)) {
tempObj = combiner(obj)
}
tempObj.head
}
我正在寻找一种以函数式编程风格编写此代码的方法,避免使用任何可变类型。
【问题讨论】:
-
根据定义,这个 sn-p
combiner(obj)不是 FP,因为它是一个重复采用相同参数但返回不同结果的函数。
标签: scala functional-programming immutability