在标准元组上重现HList样式操作的无形示例

时间:2015-05-26 21:01:27

标签: scala tuples implicit shapeless hlist

我对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

我敢打赌,这对我来说是一个愚蠢的错误,而且我已经在很多论坛上挖掘了这个。

我错过了什么?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

你很可能错过了宏天堂的依赖。如果没有这个,我会得到你看到的相同错误,用它来编写示例。

你的build.sbt应该包含这样的内容:

libraryDependencies ++= Seq(
  "com.chuusai" %% "shapeless" % "2.2.0-RC6",
  compilerPlugin("org.scalamacros" % "paradise" % "2.0.1" cross CrossVersion.full)
)