【发布时间】:2012-10-14 16:49:16
【问题描述】:
我只是想理解下面的代码:
这里声明了一个新类型别名 Set,它是一个接受 Int 的函数 参数并返回一个布尔值
type Set = Int => Boolean
这里声明了一个新方法'contains',它接受Set和Int类型的两个参数 它返回一个布尔值。布尔值设置为前面声明的函数 ('type Set = Int => Boolean') 但是执行什么逻辑来确定 Int 'elem' 是否是 Set 's' 的成员
def contains(set: Set, elem: Int): Boolean = set(elem)
这里定义了一个方法,它返回一个返回函数的集合?
def singletonSet(elem: Int): Set = set => set == elem
带有 cmets 的完整代码:
/**
* We represent a set by its characteristic function, i.e.
* its `contains` predicate.
*/
type Set = Int => Boolean
/**
* Indicates whether a set contains a given element.
*/
def contains(set: Set, elem: Int): Boolean = set(elem)
/**
* Returns the set of the one given element.
*/
def singletonSet(elem: Int): Set = set => set == elem
【问题讨论】:
-
你在询问 coursera Scala 课程作业 2 的答案。
-
我相信他只是要求解释。事实上,我现在正在学习这门课程,函数式编程对我来说是全新的。我也有这个assingment的问题......我不想要解决方案 - 只是解释。下面的 Paola 给出了我所需要的。
-
我也直觉地知道如何写这个(最终),但受益于 Paolo 的回答。不是每个来这里的人都想作弊。感谢 Moby 为这个问题的提出方式辩护。 +1
标签: scala