柯里化是指將原來(lái)接受兩個(gè)參數(shù)變成接受1個(gè)參數(shù)的函數(shù)的進(jìn)程。不需要用return語(yǔ)句來(lái)返回函數(shù)值,函數(shù)的返回值就是函數(shù)體的值。
scala中,用方括號(hào)來(lái)定義類型參數(shù),從調(diào)用該方法的實(shí)際參數(shù)來(lái)推斷出類型。視圖界定 T<%V要求必須存在1個(gè)從T到V的隱式轉(zhuǎn)換,Manifest對(duì)象是構(gòu)造器的隱式參數(shù),可用于上下文界定,類型變化的方向和子類型方向是相反的。
函數(shù)在參數(shù)上是逆變的,在返回值上的協(xié)變的,對(duì)象是不能泛型化的。
在內(nèi)部,編譯器將所有嵌套的類型表達(dá)式a.b.c.T都翻譯成類型投影a.b.c.type#T。對(duì)應(yīng)復(fù)雜類型,可用type關(guān)鍵字創(chuàng)建1個(gè)簡(jiǎn)單的別名,type一樣被用于那些在子類中被具體化的抽象類型。
結(jié)構(gòu)類型指的是1組關(guān)于抽象方法,字段和類型的規(guī)格說(shuō)明,可用安全而方便的反射調(diào)用。
在scala中,通過(guò)特質(zhì)和本身類型到達(dá)1個(gè)簡(jiǎn)單的依賴注入效果。如果類型是在類實(shí)例化時(shí)給出,則使用泛型,如果類型是在子類中給出,則使用抽象類型。
List這樣的泛型類型有時(shí)稱為類型構(gòu)造器。Container特質(zhì)是scala集合類庫(kù)中使用的構(gòu)建器機(jī)制的的簡(jiǎn)化版。
上一篇 1分鐘讓別人喜歡你(三)
下一篇 W: 無(wú)法下載 bzip2:/var/lib/apt/lists/partial/extras.ubuntu.com_ubuntu_dists_trusty_m