关于Scala编程的标点问题

scala> val  res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
<console>:1: error: ')' expected but '(' found.
       val  res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
                                           ^
<console>:1: error: ';' expected but ')' found.
       val  res=lines.map(lambda x :x.split(","))map(lambda x :x[0])
                                                ^

看来看去还是不明白是哪里有问题

后面的map前面少了.吧

以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

这段代码是Python的语法,而不是Scala的语法。在Scala中,可以使用匿名函数或者函数字面量来替代Python中的lambda表达式。下面是一个示例代码,使用Scala的函数字面量来实现类似的功能:

val lines = List("a,1", "b,2", "c,3")
val res = lines.map(x => x.split(",")(0))

这个代码使用了Scala中的List和map函数,将每个字符串按逗号分割后取第一个元素,得到一个包含字符串"a"、"b"和"c"的List。

另外,如果你在使用Spark的话,可以使用Spark提供的函数来实现相同的功能,例如:

val lines = sc.parallelize(List("a,1", "b,2", "c,3"))
val res = lines.map(_.split(",")(0))

这个代码使用了Spark中的parallelize函数,将List转换为RDD,然后使用map函数将每个字符串按逗号分割后取第一个元素。