这是代码:
def filterAcc(p: Tweet => Boolean, acc: TweetSet): TweetSet = {
foreach(tweet =>
if(p(elem)) acc.incl(elem)
else acc.incl(elem))
acc
}
def foreach(f: Tweet => Unit): Unit = {
f(elem)
left.foreach(f)
right.foreach(f)
}
def incl(x: Tweet): TweetSet = {
if (x.text < elem.text) new NonEmpty(elem, left.incl(x), right)
else if (elem.text < x.text) new NonEmpty(elem, left, right.incl(x))
else this
}
Run Code Online (Sandbox Code Playgroud)
foreach
take f
,返回一个Unit
.
incl
返回一个TweetSet
.
我传入的函数似乎filterAcc
返回a TweetSet
,因为if和else调用中的最后一行incl
.是这样的情况,即使一个值显示为返回a的函数的最后一行Unit
,它也不会返回该值?对不起,如果这是一个基本问题,我是一个全新的程序员.
scala ×1