既存のコードRogue 1.1.8を2.0.0との間でアップグレードlift-mongodb-recordしてい2.4-M5 to 2.5ます。 MongoCaseClassFieldScala列挙型が含まれているため、実際にいくつかの助けを借りて書くことができません。 例えば、 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 } 次のように、レコードを取り、1つのフィールドを除くすべてのフィールドが引数として渡されたものと同一の値を持っている(同じタイプの)レコードを返す関数が必要です。 walkDuck x = Bar { a = a x, b = b x, c = lemonadeStand (a x) (b x) } 上記は10機能しますが、より多くのフィールド(たとえば)を持つレコードの場合、そのような関数を作成すると、多くの入力が必要になるので、かなり不要です。 同じことをする面倒な方法はありますか?