Я получил функцию создать собирается обеспечить параметр DSLContext из op: DSLContext => T
:неявной не разрешены на функции высокого порядка
def create[T](op: DSLContext => T)(implicit errorHandler: Throwable => Unit):Option[T] = {
...
op(new DSLContext)
...
}
Тогда я передаю следующую функцию, чтобы создать:
def query(implicit dsl:DSLContext)
А вот вызов
create(query)
Я получил эту ошибку компилятора:
could not find implicit value for parameter dsl: org.jooq.DSLContext [error] create (query)
я могу решить эту проблему так: create {implicit dsl => query}
Однако я удивляюсь, почему компилятор не может разрешить неявный параметр как DSL данного параметра?
Вам нужно '' DSLContext => T'', вы передаете '' DSLContext'' и получите сообщение об ошибке. Когда вы передаете '' DSLContext => T'', нет ошибки. Что не так? –
То же самое. Не совсем уверен, чего вы ожидаете. – vptheron
@JeanLogeart - это DSLContext => T, а не только DSLContext. Поэтому, когда я передаю запрос как параметр create, я передаю функцию, берущую DSLContext и возвращающую T. – Hexx