私はAnormとパーサーコンビネータを使い始めました。非常に多くの定型コードがあるようです。たとえば、私はAnormパーサーコンビネータを自動的に生成するツールはありますか?
case class Model(
id:Int,
field1:String,
field2:Int,
// a bunch of fields omitted
)
val ModelParser:RowParser[RegdataStudentClass] = {
int("id") ~
str("field1") ~
int("field2") ~
// a bunch of fields omitted
map {
case id ~ field1 ~ field2 //more omissions
=> Model(id, field1, field2, // still more omissions
)
}
}
すべてのものが定義される前に4回(!)回繰り返されます。パーサーは、ケースクラスから半自動的に推論できるように思われるようです。ここに含まれる作業を減らすために提案するツールやその他のテクニックはありますか?
ありがとうございます。
私はanormを使用してからまったく同じ問題を持っています。私はその答えがまったく嫌になることではないと思う。私は、Slick(以前はScalaQuery)が、定型文を減らすためにマクロを使用しているという前進だと考えています。残念ながら、マクロにはScala 2.10が必要です。参照:http://stackoverflow.com/questions/11379608/play-framework-slick-scalaquery-tutorial –