【发布时间】:2017-12-08 06:26:22
【问题描述】:
我最近一直在玩 shapeless。有一个非常基本的东西我无法理解:
import shapeless._
import syntax.singleton._
import record._
object NotWorking {
val result = ("value" :: HNil).zipWithKeys("key" :: HNil)
}
我希望这个 sn-p 输出一个可扩展的记录。但是编译器无法找到 withKeys 的隐式:
could not find implicit value for parameter withKeys: shapeless.ops.hlist.ZipWithKeys[shapeless.::[String,shapeless.HNil],shapeless.::[String,shapeless.HNil]]
[error] ("value" :: HNil).zipWithKeys("key" :: HNil)
这更令人困惑,因为我从 Shapeless 的测试用例中提取的示例完美运行:
import shapeless._
import syntax.singleton._
import record._
object ShamelesslyStolenFromTests {
val orig =
("intField" ->> 1) ::
("boolField" ->> true) ::
HNil
val result = orig.values.zipWithKeys(orig.keys)
}
我错过了什么?
【问题讨论】:
-
你的进口是什么?
-
嗨@GáborBakos,请参阅更新后的问题:)