在没有方括号的 Scala 中声明一个泛型 class
Declare a generic class in scala without square brackets
阅读this article时,我得出以下语法:
implicit val slaveCanRead: Slave HasPrivilege Read = null
作者说:
Also, please not that Slave HasPrivilege Read
is just another notation for HasPrivilege[Slave, Read]
保留基本scala中的示例,示例也可以是
val foo: Map[String, Long] = Map()
val bar: String Map Long = Map()
我正在寻找一些 documentation/articles 来解释这种语法,但找不到任何东西。有人可以指出允许这种语法的语言功能吗?
真的和T1 TCon T2 = TCon[T1, T2]
一样简单。是 section 3.2.8 of the language specification.
InfixType ::= CompoundType {id [nl] CompoundType}
如果中缀类型以:
结尾是右结合的,否则是左结合的,就像方法一样,混合固定是没有括号的错误。
这是一个infix type。因此
val map: Map[String, Int] = ...
实际上等同于
val map: String Map Int = ...
这对 Function
类型特别有用,因此您可以编写
val f: Int => Int = ...
而不是
val f: Function[Int, Int] = ...
阅读this article时,我得出以下语法:
implicit val slaveCanRead: Slave HasPrivilege Read = null
作者说:
Also, please not that
Slave HasPrivilege Read
is just another notation forHasPrivilege[Slave, Read]
保留基本scala中的示例,示例也可以是
val foo: Map[String, Long] = Map()
val bar: String Map Long = Map()
我正在寻找一些 documentation/articles 来解释这种语法,但找不到任何东西。有人可以指出允许这种语法的语言功能吗?
真的和T1 TCon T2 = TCon[T1, T2]
一样简单。是 section 3.2.8 of the language specification.
InfixType ::= CompoundType {id [nl] CompoundType}
如果中缀类型以:
结尾是右结合的,否则是左结合的,就像方法一样,混合固定是没有括号的错误。
这是一个infix type。因此
val map: Map[String, Int] = ...
实际上等同于
val map: String Map Int = ...
这对 Function
类型特别有用,因此您可以编写
val f: Int => Int = ...
而不是
val f: Function[Int, Int] = ...