gpt4 book ai didi

scala - 如何使用 shapeless 在 scala 中实现 [x] -> x?

转载 作者:行者123 更新时间:2023-12-02 22:18:58 24 4
gpt4 key购买 nike

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

如何使用 shapeless 获取一个元素列表的头部?这不编译:

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.

最佳答案

您只需要在参数类型中包含类型成员:

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

问题是知道没有(安全的)方法来构建Sized[List[Int], _1] 和任何其他A,但编译器仍然需要证据。

关于scala - 如何使用 shapeless 在 scala 中实现 [x] -> x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012618/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com