16 条回复  ·  1865 次点击
levelworm 楼主 初学 2025-2-1 02:38:22
@sagaxu #7 这个我能理解,我其实就是不喜欢他叫 map 。。。R 的 apply 都好多了。我怎么这么矫情。
abc612008 小成 2025-2-1 02:56:53
建议写写 ML 语言脱敏。或者写下 scala/kotlin 这种 map 比较好看的语言 e.g. `listOf(1,2,3).map{it * 2} == listOf(2,4,6)`
levelworm 楼主 初学 2025-2-1 03:24:00
@abc612008 #11 好吧我承认我的智商不足以写 ML 系。。。
mizuhashi 小成 2025-2-1 03:52:57
@w568w 函數式語言裏面 map 的返回值可以是一個函數,而且是可以組合的,所以例如 Haskell 可以這麼寫:`(map (+1) . map (*2)) [1, 2, 3]` 輸出 [3, 5, 7]。`map (*2)`返回一個可以把每個元素*2 的函數,然後`.`可以把兩個 map 的返回值連起來。不過 python 的 map 不知道有沒有這種性質,如果沒有的話確實沒必要把函數放前面。
user8341 初学 2025-2-1 07:43:00
Flink 和 Spark 之所以使用 map 是因为它们受到了谷歌最早的 MapReduce 模型的启发。 使用这一套技术编写程序,可以轻松地利用集群的计算能力。map 操作将任务分解,并分发给多台机器同时处理。而 reduce 操作则将计算结果汇总到一个节点,从而得出最终结果。
nkcfc 小成 2025-2-1 08:11:34
map 大概就是数学上的映射或者函数,当然得有个 f 和集合了,f 在前面不是很自然吗? apply 和 map 一般不同,用于支持任意多变量的函数。
nkcfc 小成 2025-2-1 08:13:29
建议多学学数学,我现在受不了用 C 风格的代码计算这个例子,定义一个空数组,然后不断添加元素?
levelworm 楼主 初学 2025-2-1 08:24:08
@nkcfc #16 没办法啊,各有所爱,能理解。
12
返回顶部