def filter
(xs
: List
[Int
], p
: Int
=> Boolean
): List
[Int
] = else if (p
(xs.
head)) xs.
head :: filter
(xs.
tail, p
)
def modN
(n
: Int
)(x
: Int
) = ((x
% n
) == 0)
val nums
= List
(1,
2,
3,
4,
5,
6,
7,
8) println(filter(nums, modN(2)))
println(filter(nums, modN(3)))
}
b2JqZWN0IEN1cnJ5VGVzdCBleHRlbmRzIEFwcGxpY2F0aW9uIHsKCiAgZGVmIGZpbHRlcih4czogTGlzdFtJbnRdLCBwOiBJbnQgPT4gQm9vbGVhbik6IExpc3RbSW50XSA9CiAgICBpZiAoeHMuaXNFbXB0eSkgeHMKICAgIGVsc2UgaWYgKHAoeHMuaGVhZCkpIHhzLmhlYWQgOjogZmlsdGVyKHhzLnRhaWwsIHApCiAgICBlbHNlIGZpbHRlcih4cy50YWlsLCBwKQoKICBkZWYgbW9kTihuOiBJbnQpKHg6IEludCkgPSAoKHggJSBuKSA9PSAwKQoKICB2YWwgbnVtcyA9IExpc3QoMSwgMiwgMywgNCwgNSwgNiwgNywgOCkKICBwcmludGxuKGZpbHRlcihudW1zLCBtb2ROKDIpKSkKICBwcmludGxuKGZpbHRlcihudW1zLCBtb2ROKDMpKSkKfQo=