Как я могу расширить парсин-комбинаторы Anorm и использовать расширения в
мое заявление?
Я хочу создать методы, аналогичные SqlParser.get, SqlParser.int,
SqlParser.str и т. Д., И ожидайте расширить черту SqlParser. Но когда
Я расширяю SqlParser, я получаю ошибки компиляции, когда я пытаюсь использовать
Существующие методы синтаксического анализатора:
trait MyService extends SqlParser {
def shoesize(id: String): Int = {
SQL("select shoesize from person where id = {id}")
.on("id" -> id).as (int ("shoesize"))
}
}
Результат:
несоответствие типов; найдено: MyService.this.RowParser [Int] требуется:
play.db.anorm.SqlParser.Parser [Int] Ошибка в приложении
с аргументами по умолчанию.
Но это компилируется:
trait MyService {
import play.db.anorm.SqlParser._
def shoesize(id: String): Int = {
SQL("select shoesize from person where id = {id}").on("id" -> id)
.as (int ("shoesize"))
}
}
Как мне реализовать методы комбинатора парсера?