哪位帮忙解读下下列程序,有些语法不清楚是什么含义。。。

seagate 2010-11-10
package tfd.scala.squib.event;

import java.util.EventObject

class baseEventHelper[E <: EventObject](evtSymbol:Symbol) {

def apply(delegate:E => Unit) = (evtSymbol -> delegate)

def apply(delegate: =>Unit) = {
def helper(evt:E) = {
delegate
}
(evtSymbol -> helper _)
}
}


请问 E <: EventObject 这里,<:是什么意思?
另外最后一句(evtSymbol -> helper _),这个是一个语句还是什么?不太理解。
night_stalker 2010-11-10
<: 表明 E 必须是 EventObject 的子类

(a -> b) 是一个 key value 对,其实就是 (a, b)

helper _ 把 helper 方法转换成 function 对象

故第二个 apply 也可以写成
def apply(delegate: =>Unit) = (evtSymbol, (e:E) => {delegate})
seagate 2010-11-11
原来如此,多谢night_stalker
Global site tag (gtag.js) - Google Analytics