Scala 方法返回大小为n的无形状列表
是否可以使以下代码正常工作Scala 方法返回大小为n的无形状列表,scala,scala-2.10,shapeless,Scala,Scala 2.10,Shapeless,是否可以使以下代码正常工作 def zeroTo[N <: Nat]:Sized[List[Int], N] = { new Sized[List[Int], N](List.iterate(0, toInt[N])(1+)) { type A = Int } } def zeroTo[N您只需添加一个上下文绑定: def zeroTo[N <: Nat: ToInt]: Sized[List[Int], N] = { new Sized[List[Int],
def zeroTo[N <: Nat]:Sized[List[Int], N] = {
new Sized[List[Int], N](List.iterate(0, toInt[N])(1+)) {
type A = Int
}
}
def zeroTo[N您只需添加一个上下文绑定:
def zeroTo[N <: Nat: ToInt]: Sized[List[Int], N] = {
new Sized[List[Int], N](List.iterate(0, toInt[N])(1+)) {
type A = Int
}
}
请注意,您可以使用wrap
,大致相当于以下内容:
def zeroTo[N <: Nat: ToInt]: Sized[List[Int], N] =
Sized.wrap(List.iterate(0, toInt[N])(1+))
def zeroTo[N
def zeroTo[N <: Nat: ToInt]: Sized[List[Int], N] =
Sized.wrap(List.iterate(0, toInt[N])(1+))
def zeroTo[N <: Nat: ToInt]: Sized[List[Int], N] = {
Sized.wrap[List[Int], N]( List.iterate( 0, toInt[N] )( 1+ ) )
}