Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 在标准元组上复制HList样式操作的不成形示例_Scala_Tuples_Implicit_Shapeless_Hlist - Fatal编程技术网

Scala 在标准元组上复制HList样式操作的不成形示例

Scala 在标准元组上复制HList样式操作的不成形示例,scala,tuples,implicit,shapeless,hlist,Scala,Tuples,Implicit,Shapeless,Hlist,我对Scala非常陌生,一直在研究shapeless包,为Scala的元组提供类似HList的操作 我正在运行scala 2.10.5,并且已经成功地安装了包(版本2.2.0-RC6)以及所有依赖项 当我尝试在REPL中运行以下示例(来自)时 scala> import shapeless._; import syntax.std.tuple._ scala > (23, "foo", true).head 我收到以下错误消息: <console>:17

我对Scala非常陌生,一直在研究shapeless包,为Scala的元组提供类似HList的操作

我正在运行scala 2.10.5,并且已经成功地安装了包(版本2.2.0-RC6)以及所有依赖项

当我尝试在REPL中运行以下示例(来自)时

    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
:17:错误:找不到参数c:shapeless.ops.tuple.IsComposite[(Int,String,Boolean)的隐式值
(23,“foo”,正确)。头部
我敢打赌这对我来说是一个愚蠢的错误,我已经在很多论坛上对此进行了挖掘

我错过了什么


提前感谢您的帮助。

您可能错过了宏天堂依赖项。如果没有这个,我会得到与您看到的相同的错误,有了它,示例就可以编译了

您的build.sbt应该包括以下内容:

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

谢谢你的回复。我应该提到我实际上是在使用Maven在Eclipse(而不是sbt)中构建我的项目。我已经尝试过添加macro_paradise插件(既可以作为Xplugin参数,也可以直接将依赖项添加到POM文件)。两者都不起作用。你把它作为编译器插件添加了吗?是的。按照那篇文章中的说明操作。那篇文章提到了天堂插件的一个非常旧的版本(它甚至有过时的组和人工制品ID)。。。您是否已更新它们以使用shapeless文档中提到的ID和版本?