lazy-evaluation

    1熱度

    1回答

    我想測試一個序列或集合中的數字(n)或更多元素是否在傳遞給功能。我對有多少元素會返回true沒有興趣,只要n或更多元素會或不會。我可以用這個代碼得到正確的結果: let result = collection.filter { test($0) }.count > (n-1) 但test功能爲collection每個元素調用一次。有沒有更好的(或可能是'懶惰')的方式來做到這一點? 我可以在此

    6熱度

    1回答

    我是Spring Data Rest的新手,並嘗試使用它的基本概念。到目前爲止,一切運行良好,但幾天前我注意到,在將預測投入商業後,應用性能突然下降。 這些都是我的實體,資料庫和投影 @Entity public class Item { @Id @GeneratedValue(strategy = TABLE) private long id; pr

    1熱度

    2回答

    我已經在迅速 func *<T1:Sequence, T2:Sequence>(lhs: T1,rhs : T2) -> [(T1.Iterator.Element,T2.Iterator.Element)] { let product = lhs.flatMap({ x in rhs.lazy.map{y in (x,y)}}) return product

    2熱度

    2回答

    我明白斯威夫特卡倫特,靜態瓦爾隱含懶:https://stackoverflow.com/a/34667272/1672161 但我不是,爲什麼出現這種情況清楚: protocol HatType {} class Hat: HatType { init() { print("real hat") } } class MockHat: HatType { init()

    8熱度

    4回答

    假設我有一個序列,我知道開始點和結束點,並且生成器很簡單。我可以讓它懶嗎? my @b = 0 ... 3; say 'Is @b lazy? ' ~ @b.is-lazy; # Not lazy 我想組合已知列表與自己未知次數,但不立即生成整個列表。我想@cross偷懶: my @cross = [X] @b xx $n; 我知道我可以通過其他簡單的事項或編程(和我的Perl 5 Se

    2熱度

    1回答

    在特徵文檔中,我沒有找到一個確切的說明,當一個表達式被懶評估。對我而言,只有係數式表達纔是有趣的,也就是說沒有混疊的可能性。 以ArrayXXf a(10000, 10000);,然後 a = a.cube() * a.cube(); 評估我在250毫秒〜PC上一樣,同樣 auto aCube = a.cube(); a = aCube * aCube; 而 ArrayXXf aCube

    2熱度

    2回答

    我試圖理解foldM的Foldable在cats嘗試一個簡單的例子:假設我需要總結列表中的數字,而運行總和爲正值時打破,否則打破。 val sumUp: (Int, Int) => Option[Int] = (x, y) => { println(s"x = $x, y = $y") val sum = x + y if (sum > 0) Some(sum) el

    4熱度

    3回答

    下面是FPIS object test2 { //a naive IO monad sealed trait IO[A] { self => def run: A def map[B](f: A => B): IO[B] = new IO[B] { def run = f(self.run) } def flatMap[B](f: A => IO

    1熱度

    1回答

    爲什麼我的merge函數抱怨它的類型? 是不是我x一個type 'a seq? type 'a seq = Stop | Cons of 'a * (unit -> 'a seq) let rec linear start step= (*builds a seq starting with 'start'*) Cons (start, fun() -> linear (start+

    1熱度

    1回答

    我有一個函數,我想包圍另一個函數,通過參數作爲...參數參數。我有麻煩學習如何構建底層的函數調用lazyeval這裏有一個體面的MWE, library(dplyr) pythag <- function(a, b){ sqrt(a^2 + b^2) } pythag_wrapper <- function(data, ...){ dplyr::mutate_(data