在Python,我可以做這樣的事情: lazy = ((i,j) for i in range(0,10000) for j in range(0,10000))
sum((1 for i in lazy))
這將需要一段時間,但內存使用是恆定的。 同樣的結構中階: (for(i<-0 to 10000; j<-i+1 to 10000) yield (i,j)).count((a:(Int
的Learn You a Haskell教程具有using a let binder in a list comprehension一個例子: calcBmis xs = [bmi | (w, h) <- xs, let bmi = w/h^2, bmi >= 25.0]
該函數接受身高/體重對的列表,並返回對應的身體質量指數的列表超過某個上限,例如: ghci> calcBmis [(70,
我正在尋找最好的方式來處理一個文件,其中,基於內容,我將某些行合併到XML並返回XML。 例如鑑於 line 1
line 2
line 3
line 4
line 5
我可能要第一次調用返回 <msg>line 1, line 2</msg>
和後續調用返回 <msg>line 5, line 4</msg>
跳躍的無趣的內容3號線和排放的輸入流。 (注意:<msg>標籤將始
如果我創建了一個用於與期權價值定義的理解,它按預期工作: scala> for (a <- Some(4); b <- Some(5); val p = a * b) yield p
res0: Option[Int] = Some(20)
做同樣的無論使用哪種事情的作品,如果我沒有任何價值的定義: scala> for (a <- Right(4).right; b <- Right(5)
我在Scala編程第23.5節中看到,map,flatMap和filter操作總是可以轉換爲for-comprehensions,反之亦然。 我們給出以下等價: def map[A, B](xs: List[A], f: A => B): List[B] =
for (x <- xs) yield f(x)
我有一系列的地圖操作的計算出的值: val r = (1 to 100).m