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"