type Set = Int => Boolean
/**
* Returns whether all bounded integers within `s` satisfy `p`.
*/
def forall(s: Set, p: Int => Boolean): Boolean = {
def iter(a: Int): Boolean = {
if (a > bound) true
else if (contains(s, a) && !p(a)) false
else iter(a + 1)
}
iter(-bound)
}
/**
* Returns whether there exists a bounded integer within `s`
* that satisfies `p`.
*/
def exists(s: Set, p: Int => Boolean): Boolean = !forall(s, (x => !p(x)))
/**
* Returns a set transformed by applying `f` to each element of `s`.
*/
def map(s: Set, f: Int => Int): Set = (x => exists(s, (y: Int) => f(y) ==
x))
所以這段代碼。我不明白功能map
。在Scala中爲內涵定義的集合實現映射
我看到它的輸入是2個參數,這是設置和方法f。但是「身體」部分,我努力嘗試,但仍然沒有得到它。那是什麼"y"
,以及爲什麼使用f(y)== x使它應用方法f來設置elemtns?
需要我的一些解釋。 謝謝!
你應該包括你的'Set'定義,否則這個問題對沒有參加Scala Coursera的人來說是沒有意義的;) – 2014-09-24 06:19:00
解釋我編輯問題的摘要:參見[intensional definition](https ://en.wikipedia.org/wiki/Intensional_definition)。 – 2014-09-24 06:27:34
沒有讀過Coursera Honor Code,那麼? – 2014-09-24 07:01:14