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