0
A
回答
5
fold
使用fold
當你想聚集一組爲單精度值。在這裏我們說,從零開始,並將每個連續的元素添加到前一個元素,然後在集合耗盡後返回結果。
scala> List(1, 2, 3).foldLeft(0){ (a, b) => a + b }
res10: Int = 6
注意fold
是專爲並行計算,但foldLeft
和foldRight
在什麼類型的,他們可以應用到條件更強大。
map
使用map
當你想給一個函數應用到每個元素的集合,並返回另一組的結果。
scala> List(1, 2, 3).map(x => x + x)
res12: List[Int] = List(2, 4, 6)
foreach
使用foreach
當你不想返回任何東西,但需要一定的副作用,如。將每個值保存到數據庫。
List(1, 2, 3).foreach(x => saveToDB(x))
3
如果你想減少列表中,您使用的摺疊
List(1,2,3,4).fold(0){_+_} <<-- gives you sum of elements in list
的foreach用於遍歷列表,例如打印所有元素
List(1,2,3,4).foreach(println)
5
在我的理解,當有需要爲列表中的每個元素應用函數,我們使用摺疊函數,對嗎?
沒有。當您想要得到的結果是全部列表中的元素時,可以使用fold。也就是說,你fold
列表到一個結果
要將相同的功能上一個列表中的每個元素,多爲副作用,如印刷,篩選,使用foreach
,故名。
相關問題
- 1. 你怎麼知道何時使用摺疊和何時使用摺疊權?
- 2. 什麼時候使用__proto__和什麼時候使用原型
- 3. 什麼時候使用Ruby和什麼時候使用PHP
- 4. 什麼時候應該使用forEach?
- 5. 什麼時候使用for-each和什麼時候在xslt中使用apply-templates?
- 6. 什麼時候使用::和何時使用文檔中的#
- 7. 什麼時候應該使用AWS,什麼時候不使用
- 8. intn_t什麼時候使用它,什麼時候不使用
- 9. 什麼時候使用ByteString,什麼時候不使用?
- 10. 在TypeScript中,什麼時候使用「let」,什麼時候使用「const」?
- 11. 什麼時候和Swing一起使用AWT,什麼時候不使用?
- 12. 什麼時候使用適配器和什麼時候使用inflater
- 13. 什麼時候使用信號和插槽,什麼時候不使用
- 14. 什麼時候在Scala中使用ST monad?
- 15. 什麼時候應該在Scala中使用正規課程?
- 16. 什麼時候使用IList和何時使用列表
- 17. 什麼時候使用抽象calss和何時使用接口
- 18. 何時使用接口和什麼時候使用抽象類
- 19. 什麼時候使用socket.io和何時使用ajax
- 20. 什麼時候應該使用async/await,什麼時候不用?
- 21. 什麼時候在Scala中需要@uncheckedVariance,爲什麼它在GenericTraversableTemplate中使用?
- 22. 什麼時候使用sIFR?
- 23. 什麼時候使用MessageDigest.reset()
- 24. 什麼時候使用VK_IMAGE_LAYOUT_GENERAL
- 25. 什麼時候使用SVDRecommender
- 26. JOINS什麼時候使用?
- 27. 什麼時候使用SpringApplicationBuilder?
- 28. 什麼時候使用StringIO?
- 29. 什麼時候使用Dispose
- 30. Railties - 什麼時候使用
'foreach'通常是錯誤的方式,'map'是大多數情況下你想要的。 – Reactormonk
@Reactormonk'foreach'通常是錯誤的方式,但我看到使用'foreach'做手動'map'的人數與我使用'foreach'做人工摺疊'的人數一樣' – naomik
我見過我也使用'map'來做一個'foreach' – Chirlo