总是有些代码,超越了看过的教程,请教这个函数的参数含义

seagate 2010-11-11
def text[T <: {def setText(txt:String)}](txt:String)(subject:T) = {
   subject.setText(txt)
}

请问这个模板参数T,必须是一个函数setText(txt:String)?
是这样理解吗?
night_stalker 2010-11-11
这个是 duck typing,只要看的不是山寨教程,都会说到的 ……

意思就是 T 必须带有方法 setText(txt: String)
seagate 2010-11-11
确实是看了简化的教程。night_stalker果牛人也。
半人马 2010-11-19

学名叫"Structural Type"。
这篇文章里作者把它称作“declarative duck-typing”。

 

Global site tag (gtag.js) - Google Analytics