2
def unreturn(lx: Sized[List[Int], Nat._1]): Int = lx head

シェイプレスを使用して1つの要素のリストの先頭を取得するにはどうすればよいですか?これはコンパイルされません:

No implicit view available from List[Int] =>
scala.collection.GenTraversableLike[v.A,List[Int]].

not enough arguments for method sizedOps:
(implicit evidence$2: List[Int] =>
scala.collection.GenTraversableLike[v.A,List[Int]])shapeless.
SizedOps[v.A,List[Int],shapeless.Nat._1]. Unspecified value parameter evidence$2.
4

1 に答える 1

5

引数の型に型メンバーを含めるだけです。

def unreturn(lx: Sized[List[Int], Nat._1] { type A = Int }): Int = lx.head

問題は、他の を使用して a を構築する (安全な) 方法がないことを知っていることですが、コンパイラにはまだ証拠が必要です。Sized[List[Int], _1]A

于 2012-12-23T16:59:22.960 に答える