scala通用双括号文字
我正在学习Scala的泛型内容,但我不知道代码中文字的含义scala通用双括号文字,scala,generics,literals,Scala,Generics,Literals,我正在学习Scala的泛型内容,但我不知道代码中文字的含义 sealed-trait-Natural 密封特征向量[N,B]:向量[N,B] def-zip[B](that:Vect[N,B]):Vect[N,(A,B)] def concat[M:A](that:Vect[M,B]):Vect[Plus[N,M],B] 向量[N,(A,B)]是什么意思,特别是(A,B)?(A,B)是元组的类型 ScalaAPI对zip有类似的定义 ref:AVect是一个具有两个类型参数的类型。第一个必须是
sealed-trait-Natural
密封特征向量[N,B]:向量[N,B]
def-zip[B](that:Vect[N,B]):Vect[N,(A,B)]
def concat[M:A](that:Vect[M,B]):Vect[Plus[N,M],B]
向量[N,(A,B)]是什么意思,特别是(A,B)
?(A,B)
是元组的类型
ScalaAPI对zip有类似的定义
ref:A
Vect
是一个具有两个类型参数的类型。第一个必须是某种形式的(自然的子类型)Natural
,我们称之为N
。第二个是在调用站点定义的某种不受限制的类型,我们称之为A
zip()
方法接收不同的Vect
。它必须具有相同的第一个参数类型(不仅仅是任何Natural
,它必须是相同的),但第二个参数类型可能不同,我们将其称为B
(它可能与a
相同,但可能不需要不同的标识符)
zip()
A
和B
已经“压缩”在一起了。谢谢,我刚刚知道scala可以使用一个通用的tupleThanks@jwvh。我知道Vect[N,(A,B)],(A,B)是两个元素的元组。