这个Scala类型参数声明是什么意思?[A:B]

塞巴斯蒂安·N。

最近,我看到了一个类似于该定义的特征:

trait Server[T, Reader[_], Writer[_]] {
  def read[Result:Reader](t: T): Result
  def write[Result:Writer](r: Result): T
}

原始定义来自“ autowire”项目

[Result:Reader]和分别[Result:Writer]什么意思?

如何解释?读者,作家和结果之间是什么关系?

尤金·朱列涅夫(Eugene Zhulenev)

结果-读写方法的类型参数化。它可以是T,但是T已用于特征定义中,因此作者为类型形参选择了更长的名称。

:Reader和:Writer-表示它应该在Result类型范围内的Reader和Writer类型类

有关上下文范围的更多信息,请参见:http : //docs.scala-lang.org/tutorials/FAQ/context-and-view-bounds.html

可以这样重写:

trait Server[T, Reader[_], Writer[_]] {
  def read[Result](t: T)(implicit reader: Reader[Result]): Result
  def write[Result](r: Result)(implicit writer: Writer[Result]): T
}

但是,特质定义中根本不使用Result有点奇怪。但是,完全可以。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

@ {u}这个参数在Git中是什么意思?

来自分类Dev

a>?= b是什么意思?

来自分类Dev

这个比较是什么意思?

来自分类Dev

在Scala中,案例类的“扩展(A => B)”是什么意思?

来自分类Dev

这个typedef定义是什么意思?

来自分类Dev

这个定义是什么意思?

来自分类Dev

new(这个)是什么意思?

来自分类Dev

参数类型有“ T =”,是什么意思

来自分类Dev

类型声明的“类”是什么意思?

来自分类Dev

这个Perl语法是什么意思?

来自分类Dev

“类型T = ..”在Scala中是什么意思?

来自分类Dev

ANSI这个序列是什么意思?

来自分类Dev

[+ A]在Scala类声明中是什么意思?

来自分类Dev

问号在类型参数绑定中是什么意思?

来自分类Dev

这个错误是什么意思?不能下标值类型

来自分类Dev

这个c ++类声明是什么意思?

来自分类Dev

输入参数类型“ const double *&”是什么意思?

来自分类Dev

方括号在类型声明中是什么意思?

来自分类Dev

此类型声明中的{0:T}是什么意思?

来自分类Dev

这个JS对象声明语法是什么意思?

来自分类Dev

参数类型具有“ T =“,这是什么意思

来自分类Dev

Scala中方法类型中的“:”是什么意思?

来自分类Dev

声明窗口小部件类型之后是什么意思?

来自分类Dev

输入参数类型“ const double *&”是什么意思?

来自分类Dev

方括号在类型声明中是什么意思?

来自分类Dev

“类型参数的数量不正确”是什么意思?

来自分类Dev

这个scala语法是什么意思?

来自分类Dev

这个变量声明表是什么意思?

来自分类Dev

这个函数声明中 -> List[int] 是什么意思?