|
|
1
222
这些被称为 广义类型约束 . 它们允许您从类型参数化类或trait中 进一步约束
隐含论点
您可以将该错误理解为“找不到Int==String的证据”。。。这是应该的!
This snippet @retronym很好地解释了这类事情过去是如何完成的,以及泛化类型约束现在是如何使它变得更容易。 附录
为了回答你接下来的问题,我举的例子是非常做作的,而且没有明显的用处。但是想象一下用它来定义
|
|
|
2
55
不是一个完整的答案(其他人已经回答了这个问题),我只想注意以下几点,这可能有助于更好地理解语法:您通常使用这些“运算符”的方式,例如pelotom的示例:
利用Scala的替代方案 infix syntax for type operators .
这样地:
它类似于方法调用的两个语法,“normal”和
|
|
|
3
40
阅读其他答案,了解这些结构是什么。这里是 你应该使用它们。当需要仅为特定类型约束方法时,可以使用它们。 下面是一个例子。假设要定义一个齐次对,如下所示:
可以实例化,比如说,一个
如果是
|
|
|
4
17
至于“我应该什么时候使用它们”这个问题,答案是你不应该,除非你知道你应该这样做
:好的,好的,这里有一些来自图书馆的例子。在
在
你会发现一些其他的例子。 |