lazy-sequences

    4熱度

    1回答

    Clojure初學者在這裏,不知道問題中的術語是否正確。 我使用clj-webdriver taxi api構建了一個web刮板。有幾個網站需要從中抓取數據。以下是不實際從項目的代碼,但我測試過,並證實它說明我的問題:由於 (def gh-un "my-username") (def gh-pw "my-password") ;; print the first five "starred"

    4熱度

    2回答

    比方說,我有兩個普查員,enum1和enum2,必須懶惰地迭代(因爲他們有副作用)。我如何構造第三個枚舉器enum3其中enum3.each{|x| x}會懶洋洋地返回相當於enum1 + enum2? 在我真實世界的用例中,我在兩個文件中進行流式處理,並且需要流出並置。

    2熱度

    1回答

    科特林1.0.0 IDEA 2016.1 我已經發現一對夫婦引用的用於創建序列中的新功能sequence(不再叫stream)。 The JetBrains blog給出了以下示例: val elements = sequence(1, { x -> x + 1}) val elements = listOf(1, 2, 3, 4).sequence() The AgileWombat bl

    0熱度

    1回答

    我需要一個函數,它返回各種組合生成器函數(如過濾器和映射)的延遲生成器。例如,如果我想申請lazy.filter().map()代碼如下: // Simplified typealias MyComplexType = Int typealias MyComplexCollection = [MyComplexType] func selection() -> LazyMapCollect

    1熱度

    2回答

    我在txt文件中設置了一個示例數據集。數據文件非常大,因此不能將其加載到內存中。我需要能夠懶散地閱讀文件。此外,我需要以隨機順序讀取這些行。而且有些情況下我不需要閱讀所有的文字。這是我到目前爲止發現的 - (defn read-lazy [in-file] (letfn [(helper [rdr] (if-let [line (.readLine rdr)]

    0熱度

    1回答

    爲我在Python3的最後一個項目,我用一個自定義懶惰生成器來生成我的數據。然後使用Pool(多處理)中的imap。 所以在這一點上,沒有任何計算。 下一步是在文件上輸出計算的數據。 爲此,我要麼print(list(data))要麼是print(*data),這會導致計算整個數據(現在大約1.5Gib,位將快速增長),要麼執行for循環並打印每個數據片段,這些數據需要大量的調用打印(現在約10e

    3熱度

    2回答

    我有一個Clojure的程序,返回下面neven Fibonacci數的懶惰序列的總和: (defn sum-of-even-fibonaccis-below-1 [n] (defn fib [a b] (lazy-seq (cons a (fib b (+ b a))))) (reduce + (take-while (partial >= n) (take-nth 3 (f

    0熱度

    4回答

    我想知道lazy-seq返回一個有限列表或無限列表。有一個例子, (defn integers [n] (cons n (lazy-seq (integers (inc n))))) 當我運行像 (first integers 10) 或 (take 5 (integers 10)) 的結果是10,(10 11 12 13 14) 。但是,當我運行時 (integers 10

    2熱度

    1回答

    說I'have懶惰序列被叫號碼即真實給我數的無限序列:0,1,2,3,4,5,6 ... (def numbers (iterate inc 0)) 我通過將函數傳遞給函數來限制無窮大。例如: (take 3 numbers) ; > (0 1 2) 我在問自己如何添加一些後處理到懶惰序列的成員。更具體地說: 我怎麼會聲明函數「數字加倍」,將產生下面的輸出,當我使用的見解: (take

    1熱度

    2回答

    我在玩wit/duckling庫。它是用clojure寫的,我以前沒有clojure的經驗。按照它的文檔我有一個變量的值作爲 ({:dim :time, :body "20 minutes from now", :value {:type "value", :value "2016-08-03T10:50:56.000+05:30", :grain :second, :values ({:type