与えられた整数で割り切れる数をリストから取り除くにはfilterを用いる. scala> Range(2, 10).toList.filter(_ % 2 != 0) res: List[Int] = List(3, 5, 7, 9) エラトステネスの篩を実装する. 1: object Sieve { 2: def sieve(xs: List[Int]): List[Int] = 3: if (xs.isEmpty) 4: Nil 5: else 6: xs.head :: sieve(xs.tail.filter(_ % xs.head != 0)) 7: 8: def primes(n: Int) = sieve(Range(2, n).toList) 9: 10: def main(args: Array[String]) { 11: primes(100).foreach { p