Create 1 function from 2 other functions in scala?
这个问题与来自Coursera的Scala课程有关,因此,我想请您不要给我简单的解决方案,使我可以复制粘贴,因为这会破坏Coursera荣誉代码。
这与第二个任务有关。
1 |
可以看出,Set是一个返回天气的函数,给定的int是否是集合的一部分。到目前为止,这是简单明了的。但是任务要求我创建一个工会
1 |
此联合应返回一个满足两个集合条件的集合。
我该怎么做这样的事情:
我认为可以通过将以下函数添加到一起来完成这些事情:
1 | f + s |
无法按预期正确编译
我的问题是:
如何从其他2个函数创建一个函数?
什么应该等于:
我不是要寻求解决方案,而是要如何构建类似的东西?
好吧,如果我们要创建一个单例集,我们将返回新函数,该函数将比较传递给它的任何值和传递给创建它的函数的值。
两组的并集是一组加上另一组。这意味着您要查找的元素必须位于一个或另一个集中。但是我们如何获得新的集合,好吧,我们返回一个新函数来执行此操作-检查一个元素是在一个集合中还是在另一个集合中。
请记住,在Scala中,函数可以返回函数,稍后可以对其进行评估。我认为那是关键。
正如我认为您已经理解的那样,这些Set是用于测试某个值是否满足每个Set的条件的函数。
这样的Set的并集还必须是一个返回布尔值的函数(如类型签名所示)
1 |
哪个(因为
1 |
用简单的英语来说,两个集合A和B的并集表示:"是A或B中的项目"。
您的任务是编写一个执行该简单英语规范的函数。
您不能将两个功能"添加"在一起(至少不能以适用于此问题的方式),但是可以将它们的结果合并。
我希望这不是太多,但是给定一个元素,它应该满足
首先,它是
现在,您的问题。您需要一个函数,当给定两个
首先,您将如何针对两个
1 |
所以现在我们到了一半。我们有什么:
-
一对
Int => Boolean 函数。 -
需要两个
Boolean 并返回Boolean 的函数。
因此,我们要做的就是将每个
咖喱函数的最简单方法是显式地
1 2 3 4 |
但是我们可以在Scala中通过声明一个匿名函数进行内联
1 |