【发布时间】:2016-07-06 14:17:14
【问题描述】:
我正在学习 Scala 高阶函数。我正在学习an example那是一门课;有一种方法接收一个函数和一个值参数并返回一个值。函数为p: Tweet => Boolean,方法实现如下。我想知道p函数的实现在哪里。
class NonEmpty(elem: Tweet, left: TweetSet, right: TweetSet) extends TweetSet {
def filterAcc(p: Tweet => Boolean, acc: TweetSet): TweetSet = {
if (p(elem)) {
left.filterAcc(p, acc.incl(elem))
right.filterAcc(p, acc.incl(elem))
} else {
left.filterAcc(p, acc)
right.filterAcc(p, acc)
}
}
【问题讨论】:
-
我知道当参数是函数时可能会更令人不安,但您的问题实际上与“
acc参数的值是多少?”完全相同。当调用filterAcc时,它是作为acc传递的任何内容。p也一样。
标签: scala higher-order-functions