我对Scala非常陌生,并且一直在寻找无形包以为Scala的元组提供类似HList的操作。
我正在运行scala 2.10.5,并且我已经成功安装了软件包(版本2.2.0-RC6)以及所有依赖项。
当我尝试在REPL中运行以下示例(来自shapeless feature overview)时,
scala> import shapeless._; import syntax.std.tuple._
scala > (23, "foo", true).head
我收到以下错误消息:
<console>:17: error: could not find implicit value for parameter c: shapeless.ops.tuple.IsComposite[(Int, String, Boolean)]
(23, "foo", true).head
我敢打赌,这对我来说是一个愚蠢的错误,而且我已经在很多论坛上挖掘了这个。
我错过了什么?
提前感谢您的帮助。
答案 0 :(得分:3)
你很可能错过了宏天堂的依赖。如果没有这个,我会得到你看到的相同错误,用它来编写示例。
你的build.sbt应该包含这样的内容:
libraryDependencies ++= Seq(
"com.chuusai" %% "shapeless" % "2.2.0-RC6",
compilerPlugin("org.scalamacros" % "paradise" % "2.0.1" cross CrossVersion.full)
)