higher-order-functions

    0热度

    1回答

    我试图编写一个返回另一个函数的函数。我的目标是编写一个函数,它接受一个对象并返回另一个函数“search”。当我用键调用搜索函数时,我想从第一个函数中给出的对象返回该键的值。 propertyOf = function(object) { return search = function (key) { for (key in object) if (key ===

    2热度

    2回答

    假设我有一个下列类的对象列表。 class Contact( val name: String // ... ) 我想检索一个Map<String, Int>它将名称映射到其出现次数。 在基于SQL的数据库我会查询: SELECT name, count(*) FROM Contact; 什么是高阶函数为此在科特林的最佳方式?

    0热度

    1回答

    我一直在使用高阶函数并取得了一些成功,但我对回调参数的工作方式有点困惑。例如,Reduce有几个参数(累加器,currentValue等)。命名似乎并不重要。如果需要,我可以用'acc'替换累加器的使用,或者用完全不同的单词替换它。这导致我相信按照它们给出的顺序来减少解释参数。那是对的吗? 如果是这样,我如何表明我只需要在列表中稍后使用参数?假设我只打算使用currentIndex。即使我没有使用

    0热度

    1回答

    我有四种不同的布局。 HomeLayout - 首页 AdminLayout UserLayout AgentLayout AdminLayout是管理相关的页面和UserLayout用户父相关等。我使用高阶组件检查 用户是否未经身份验证,将其重定向到主页。还有另一个条件。也就是说,如果用户通过身份验证,但如果用户的角色不是管理员,并且用户尝试访问AdminDashboard,他/她应该重定向到主

    2热度

    2回答

    比方说,我有一个函数,它接受一个函数并返回一个函数,该函数应用它传递给函数的任何参数,并将结果放入一个向量中(这是一个不好的例子,但希望能够说明我的观点)。 (defn box [f] (fn [& args] [(apply f args)])) 我认为存储箱功能的规格看起来像这样 (spec/fdef box :args (spec/cat :function

    0热度

    1回答

    我正在写Scala的微服务,我正在处理来自服务器的响应,通过抛出不同的异常来处理错误。 错误处理对于每个错误基本相同,记录警告消息并抛出异常。唯一改变的是我生成的自定义异常,所以我不想在我的“case”语句中重复相同的代码,因此我决定使用一个方法,接受异常作为参数。 config.httpClient.apply(request).map(response => { response.g

    0热度

    2回答

    我明白,两者都是返回函数的函数。 到目前为止,我的经验使用它们来返回函数,而不仅仅是操作对象,以便我可以使用Redux中的异步请求。 闭包是一个高阶函数(HOF)的实现,以便为私有变量创建一个新的作用域......对吗? HOF的其他例子包括map,reduce和filter。 还有其他的东西明确定义了两者之间的区别吗? 谢谢。

    0热度

    1回答

    在这个例子中,我不得不上课。 Order(selections: List<Selection>, discount: Double, ...) Selection(productId: Long, price: Double, ...) 然后我不断的Order,我想计算价格后,其需要使用Selection's price和Order's discount集合。我怎样才能做到这一点? 我尝试

    3热度

    3回答

    我知道Swift的更高阶的函数,比如Map,Filter,Reduce和FlatMap,但我没有意识到任何类似于'All'或'Any'的返回布尔值的正面测试会短路的同时列举结果。 例如,考虑您拥有10,000个对象的集合,每个对象都有一个名为isFulfilled的属性,并且您想查看该集合中是否有isFulfilled设置为false。在C#中,您可以使用myObjects.Any(obj ->

    4热度

    1回答

    我试图从video的第一个示例中学习高阶函数。这是我的代码和输出。 代码 fun lowercase(value: String) = value.toLowerCase() fun higherOrder(value:String, op: (String) -> String) : String { println("Executing higher order fun $op"