Я изучаю Scala, и в качестве задания я должен использовать сворачивание, чтобы сгенерировать список Int:
// Generate list of integers by applying f to b until it returns None
def unfold(b: Int, f: Int => Option[(Int, Int)]): IntList = {
f(b) match {
case None => Nil()
case Some((x, y)) => Cons(x,unfold(y, f))
}
}
Это развертывание работает просто отлично, но теперь я должен написать fromUntil, и, честно говоря, я совершенно потерян с тем, что делать ?? Так что я просто начал случайным образом, но это не работает вообще. Была бы признательна за помощь!
// generate the list of integers from i until j
def fromUntil(i: Int, j: Int): IntList = {
unfold(i, (x: Int) =>if(x < j) Some((j, j - 1)) else None)
}
}
Джером