【发布时间】:2015-08-27 05:25:13
【问题描述】:
我一生都在做C/Java/C3/Python/JS。从昨天开始,我在看一些 scala 代码,现在我对一切都感到非常困惑..
sn-p 是这样的:
// Parse the input file
val lines = fromTextFile(input)
// Iterate on every element to generate the keys, and then aggregate it
val counts = lines.mapFlatten{
line =>
val rowSplit = line.split(",",-1)
.... }
方法mapFlatten in scoobi api的签名是:
def mapFlatten[B](f: (A) ⇒ Iterable[B])(implicit arg0: WireFormat[B]): DList[B]
我们为什么叫mapFlatten
mapFlatten{
而不是
mapFlatten({
是不是因为函数将谓词作为参数?
从这个意义上说,while、else、if 是否也有函数?
【问题讨论】:
-
我尝试了 mapFlatten(..),它似乎也可以工作。 @ThiagoPereira 我认为您的链接的答案适用于我的情况。谢谢!
-
我会回答的
标签: scala functional-programming