lazy-evaluation

    3熱度

    2回答

    我想知道爲什麼這個「調試消息1」並不在這個片段中得到印: import Debug.Trace main = do return (trace "debug message 1"()) trace "debug message 2" (return()) 第二個「調試消息2」打印出來,但不是「調試消息1」。看來這兩個表達式都是一樣的。我試着將「調試消息1」綁定到一個變量

    0熱度

    2回答

    問題:我有數百萬行數據庫需要處理。 我需要實現一個方法,該方法將返回數據庫行的「流」(?)。 我不想一次將它們全部加載到內存中。 我正在考慮返回一個懶惰的IEnumerable<Record>並使用yield。 該方法將處理使用SqlDataReader加載連續記錄。 但是,如果客戶在我的IEnumerable上撥打.Count(),會發生什麼?計算所有記錄意味着需要將它們全部取出。 有沒有什麼好

    0熱度

    1回答

    此代碼: (first (map (fn [d] (apply * (repeat d 10))) (range))) yealds的整數溢出異常,而此代碼: (first (map (fn [d] (apply * (repeat d 10))) (range 0 1))) yealds 1. 兩個碼應該yeald 1但某種原因

    2熱度

    1回答

    AFAIK,Iterator.map是懶惰的,而Vector.map渴望,基本上是因爲它們是不同類型的單子。 我想知道,如果有一種具有EagerTry和LazyTry,其行爲就像the current Try的任何機會,但後者(LazyTry)延遲傳遞,直到結果關閉的執行需要(如果需要的話)。 請注意,聲明爲lazy的東西在Scala中效果不佳,特別是它適用於給定範圍。傳遞參數時(參數按名稱)存在

    3熱度

    4回答

    我試圖弄清楚clojure中是否有類似於delay的宏以獲得可以稍後評估的懶惰表達式/變量。 用例是Map.get/3的默認值,因爲默認值來自數據庫調用,所以我寧願只在需要時才調用它。

    1熱度

    2回答

    我讀過https://www.haskell.org/haskellwiki/Foldl_as_foldr以及其他一些關於foldl和foldr之間區別的博客文章。現在我想要寫的斐波那契序列與foldr相似的無限名單,我已經想出了以下解決方案: fibs2 :: [Integer] fibs2 = foldr buildFibs [] [1..] where buildFib

    3熱度

    1回答

    我有一個外部和內部的配置在我的Grails應用程序: Config.groovy中 root = "/home/baseConf" test { dir = root + "/testDir" } External.groovy root = "/home/externalConf" 內部控制我有: println "${grailsApplication.config.r

    0熱度

    1回答

    儘管我使用的是SpringOpenEntityManagerInViewFilter,但在得到一些結果後我得到了LazyInitializationException。 神祕的是爲什麼我得到的第一個結果(行)的權利,然後它變得累了,我沒有得到更多的結果。 我已經嘗試了我在這裏閱讀的所有內容我幾乎閱讀了所有帖子,我仍然留在這裏。 我新手使用Spring數據JPA,我懷疑這可能是一個廢話 這些都是我的

    3熱度

    1回答

    我有一個問題,我找不到在這solution答案。我的意思是,我想在一個新功能中使用ggplot函數,例如 library(ggplot2) draw_point <- function(data, x, y){ ggplot(data, aes_string(x, y)) + geom_point() } 和結果,我必須用引號: draw_point(mtcars, "

    0熱度

    1回答

    我認爲球拍的內部縮小總是用於評估,但我發現例如「如果」(和cond ?!)在球拍中是懶惰的評價...爲什麼這需要? 是否無法通過內部還原實現if語句? 我不知道哪裏的懶惰評價比內在好,反之亦然?有人可以提供一個例子嗎?