我从升级现有的代码Rogue 1.1.8,以2.0.0和lift-mongodb-record从2.4-M5 to 2.5。 我在编写MongoCaseClassField包含scala枚举的过程中遇到困难,我确实可以使用一些帮助。 例如, object MyEnum extends Enumeration { type MyEnum = Value val A = Value(0) val B = Value(1) } case class MyCaseClass(name: String, value: MyEnum.MyEnum) class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] { def meta = MyMongo class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : OwnerType)(implicit mf : …
假设我有以下记录ADT: data Foo = Bar { a :: Integer, b :: String, c :: String } 我想要一个接受记录并返回记录(相同类型)的函数,其中除一个字段外,所有字段的值都与作为参数传递的值相同,如下所示: walkDuck x = Bar { a = a x, b = b x, c = lemonadeStand (a x) (b x) } 上面的方法有效,但是对于具有更多字段(例如10)的记录,创建这样的函数将需要进行很多输入,我觉得这是不必要的。 有没有那么简单的乏味方法?