小编pra*_*wal的帖子

功能编程scala

我在课程中遵循"Scala中的函数式编程原理",在第二周,作业是关于"纯函数集"的,我们有,

type Set = Int => Boolean
Run Code Online (Sandbox Code Playgroud)

然后是一些功能

def union(s: Set, t: Set): Set = (element: Int) => s(element) || t(element)
Run Code Online (Sandbox Code Playgroud)

所以,当我这样做的时候,

val u = union(Set(1, 2, 3), Set(4, 5, 6))
Run Code Online (Sandbox Code Playgroud)

在scala控制台中,它给出了

u: Set = <\function1\>
Run Code Online (Sandbox Code Playgroud)

a)为什么它会返回一个函数?

b)当我这样做时contains(u, 6)它返回true但是我可以显示你的所有元素还是因为你是一个我不能的函数?

c)如何union(Set(1, 2, 3), Set(4, 5, 6))在没有任何迭代的情况下返回这两个集合中的所有元素?

functional-programming scala higher-order-functions

3
推荐指数
1
解决办法
211
查看次数