小编ntn*_*ntn的帖子

scala中原始字符串插值和三重引号之间的区别是什么

Scala有三个引用的字符串"""String\nString""",可以在字符串中使用特殊字符而不进行转义.Scala 2.10也添加raw"String\nString"了相同的用途.

如何raw""""""""工作有什么区别?他们可以为同一串产生不同的输出吗?

string scala string-interpolation

45
推荐指数
2
解决办法
2万
查看次数

如何获取Shapeless HList中的每个类型元素属于类型类的证据

我尝试过以下方法:

trait Evidence[H <: HList, T[_]] {}

object Evidence {
  implicit def HNilEvidence[T[_]] = new Evidence[HNil, T] {}
  implicit def HListEvidence[Head, Remaining <: HList, T[_]](implicit headEv: T[Head], remainingEv: Evidence[Remaining, T]) =
    new Evidence[Head :: Remaining, T] {}
}
Run Code Online (Sandbox Code Playgroud)

只有当所有元素都匹配类型类时,这才能正确地给我一个隐含的证据.

但是,当试图像这样使用它时(一个人为的例子):

def transform[A](a: A)(implicit ev: Evidence[A :: HNil, Ordering]) =
   { List(a,a).sorted }
Run Code Online (Sandbox Code Playgroud)

这给出了错误

error: No implicit Ordering defined for A.
Run Code Online (Sandbox Code Playgroud)

哪个应该在那里存在 Evidence[A :: HNil, Ordering]

scala shapeless

8
推荐指数
1
解决办法
364
查看次数

标签 统计

scala ×2

shapeless ×1

string ×1

string-interpolation ×1