Я пытаюсь скомпоновать 2 функции в скрипте и получаю несоответствие типов, которое не могу решить. Вот пример кода:
def generate(start: Int, end: Int): Seq[Int] = (start until end).toSeq
def restrain(seq: Seq[Int]) = seq.dropWhile(_ < 20).takeWhile(_ < 60)
val com: (Int, Int) => Seq[Int] = (restrain _ compose generate)
Загружая это в REPL с помощью:
:load test.sc
, я получаю следующую ошибку:
val com: (Int, Int) => Seq[Int] = (restrain _ compose generate)
^
test.sc:1: error: type mismatch;
found : (Int, Int) => Seq[Int]
required: ? => Seq[Int]
Что я делаешь что-то не так?