假设我有如下代码:
有没有使用下划线表示法完成这个任务的方法,还是我只能强行这样做?
val a: List[(Int, String)] = List((1,"A"),(2,"B"),(3,"C"))
val b: List[String] = List("A","C","E")
我能做到:
a.map{case (fst,snd) => (fst,snd + "a")}
a.filter{case (_,snd) => b.contains(snd)}
但为什么我不能这样做:
a.map((_._1,_._2 + "a"))
a.filter(b.contains(_._2))
有没有使用下划线表示法完成这个任务的方法,还是我只能强行这样做?
val b: List[Int] = List("A","C","E")
应该是val b: List[String] = List("A","C","E")
,否则会出现编译错误。 - Ramesh Maharjanval b: List[Int] = List("A","C","E")
才能正常工作。 - Ramesh Maharjan