在ghci,我跑了:
ghci> :t Right 5
Right 5 :: Num b => Either a b
Run Code Online (Sandbox Code Playgroud)
这是什么意思a?
它与Scala的版本相比如何?
scala> Right(5)
res0: scala.util.Right[Nothing,Int] = Right(5)
Run Code Online (Sandbox Code Playgroud)
Cub*_*bic 10
a就像b在这个例子中一样,是一个类型变量.它可以用任何类型实例化(而b可以用满足约束的任何类型实例化它也是它的实例Num).
由于scala的类型系统完全不同,scala示例的工作方式完全不同; 没有真正的值概念具有未完全实例化的类型,因此您需要为Left您的Either值的可能性指定类型.除非有进一步的限制,否则这最终会成为现实Nothing.由于scala类型系统的工作方式(Nothing作为任何其他类型的子类型,因此您可以将其视为Any类型的双重类型),a Either[Nothing,B]也Either[A,B] 适用于任何类型A.
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |