2
此代码适用于整数的列表的功能,并设置每个值在选项的列表具有值4:斯卡拉地图功能签名的说明?
val l = List(1,2,3,4,5) //> l : List[Int] =
val v = 4 //> v : Int = 4
def g(v:Int) = List(v-1, v, v+1) //> g: (v: Int)List[Int]
l map (x => {f(x);}) //> res0: List[Option[Int]] = List(Some(4), Some(4), Some(4), Some(4), Some(4))
地图的签名:
def map[B, That](f: A => B)(implicit bf: CanBuildFrom[Repr, B, That]): That = {
由于B是第一类型的参数(在地图[B,That])这是否意味着它的类型为前缀操作数'l'(List)?
'A'是怎么输入的? Scala编译器是否会检查List'l'中的类型并推断出它的类型为Int?
'那'是怎么输入的?
[Scala 2.8 breakout]的可能重复(http://stackoverflow.com/questions/1715681/scala-2-8-breakout) – senia
在你的代码中,函数f是什么?函数g的用法是什么?如果您查看List的API文档,您可以看到该映射具有以下签名:def map [B](f:(A)⇒B):List [B]:它仅转换列表中的A列表的B – bhericher
请参阅**关于'[这个答案](http://stackoverflow.com/a/1716558/406435)中的'CanBuildFrom' **部分[Daniel C. Sobral](http://stackoverflow.com/users/53013 /丹尼尔-C-索布拉尔)。 – senia