lazy-evaluation

    1熱度

    4回答

    我想在Ruby中創建一個惰性計算哈希值: hash = {foo: -> {go_find_foo} } 我不希望來電者知道,他們可能會得到一個proc回,而不是一個值 - 理想情況下,我希望Hash類能夠分別獲取值是否爲proc,執行它,將Hash中的值設置爲lambda的返回值,最後將值返回給客戶端。 理想情況下,我希望能夠使用標準語法定義這些散列,如上面的代碼示例中所示。這意味着我不能真

    -1熱度

    2回答

    我想用其他變量或預定義值的內容初始化變量,如果未設置其他變量。 我知道我可以使用 if(isset($var1)){ $var2 = $var1; } else{ $var2 = "predefined value"; } 我覺得做這樣會更優雅: $var2 = $var1 || "predefined value"; 我最後一次檢查,這沒有工作(或我的記憶是騙我)

    0熱度

    1回答

    我想從網絡共享中使用scala代碼將大量文件(數百萬)複製到我的電腦中。我正在使用的方法是listfiles()來獲取文件夾中的所有文件,並通過列表來複制我想要的文件。它適用於小型號。的文件,但作爲沒有。的文件變成了數百萬的文件,從而引發內存溢出異常。有沒有其他方法可以用來遍歷文件,並選擇我想要複製的文件,而不會在java或scala中引發此異常。當我搜索這個問題時,我看到了簡單的文件訪問者,任何

    8熱度

    1回答

    來自Haskell,我正在讀伊德里斯關於懶惰(非嚴格性)的故事。我觸輪近期發行說明和found code類似於以下 myIf : (b : Bool) -> (t : Lazy a) -> (e : Lazy a) -> a myIf True t e = t myIf False t e = e 我寫了一個簡單的階乘函數來測試它 myFact : Int -> Int myFact n

    8熱度

    1回答

    我的理解(I think)是Haskell的seq,將(一般)reduce它的第一個參數WHNF,看到這種行爲,因爲預計在GHCI: λ> let x = (trace "foo" Foo (trace "bar" Bar 100)) in seq x 0 foo 0 然而,儘管documentation for evaluate說,這也降低了它的參數到WHNF,它看起來像它實際上完全降低

    2熱度

    1回答

    我希望有人可以幫助確定爲什麼我在使用lazy評估作爲dplyr filter_ verb的一部分時收到錯誤消息。最終目標是通過引用使用函數來傳遞參數,但是我已經將問題縮小到了函數之外。 library(dplyr) library(lazyeval) library(data.table) data_raw_dt <- data.table( R_dates = seq(from

    4熱度

    2回答

    在這個article中,它說(引用下面的代碼):「您必須使用lazy來防止閉包被多次創建。」 private lazy var variable:SomeClass = { let fVariable = SomeClass() fVariable.value = 10 return fVariable }() 爲什麼懶惰會阻止多次創建閉包?爲什麼缺乏懶惰會導致

    3熱度

    2回答

    這個問題haskell fold rose tree paths深入摺疊玫瑰樹到其路徑的代碼。我正在試驗無限的玫瑰樹,我發現所提供的解決方案不夠懶惰,無法在深度和廣度上無窮無盡的玫瑰樹上工作。 考慮玫瑰樹,如: data Rose a = Rose a [Rose a] deriving (Show, Functor) 這裏有一個有限的玫瑰樹: finiteTree = Rose "root"

    3熱度

    1回答

    下面是從樓梯書爲例: object Example1 { def lazyMap[T, U](coll: Iterable[T], f: T => U) = { new Iterable[U] { def iterator = coll.iterator.map(f) } } val v = lazyMap[Int, Int](Vect

    3熱度

    1回答

    我正在研究一個將字符串作爲函數參數的R包。現在我想使用非標準評估來允許非字符串輸入。另外,爲了保持向後兼容性,我想保留函數接受字符串的可能性。 Hadley給出example與子集功能,並建議每個NES函數應該伴隨着一個標準的評估函數。 library(lazyeval) # standard evaluation subset2_ <- function(df, condition) {