在scala中返回一个包含谓词的数字列表

时间:2018-11-19 18:15:28

标签: scala

我想在scala calcMod(a, b, c)中编写一个函数,其中a应该作为谓词,bc应该采用数字范围(例如3(incl。 )... 9(不包括在内),必须对其进行评估,并返回该谓词所在范围内的数字列表。

例如,函数调用calcMod(k => k % 2 == 0, 3, 9)的计算结果应为Return(4, 6, 8)

我有mod 2 == 0的事实表明,偶数总是会返回。我想用线性递归来解决这个问题。

def calcMod(a: Int => Boolean, b: Int, c: Int): List[Int] = ?

1 个答案:

答案 0 :(得分:0)

下面的函数将从b到c,然后对参数中使用的函数应用filter。

 def calcMod(a: Int => Boolean, b: Int, c: Int): List[Int] = (b until c filter a).toList