Что это значит - непримененные методы преобразуются в функции только тогда, когда ожидается тип функции - PullRequest
0 голосов
/ 26 октября 2018
I am trying to implement following kind of code 
'
ValsProcessor {
    def process(oraOptionDfConfig: DataFrameReader, sparkSession: SparkSession ) : Unit = { ....}
}

ValsProcessor2{
   def process(oraOptionDfConfig: DataFrameReader, sparkSession: SparkSession ) : Unit = { ....}
}


val myFuncs2 : Map[String, () => Unit]=
      Map(
        "benchmark_model_vals" -> (() => new ValsProcessor().process), //Error
        "benchmark_model_vals2" -> (() => ValsProcessor2().process)
      )
'

Вопрос: Ниже ошибки я получаю список пропущенных аргументов для процесса метода в классе BenchmarkModelValsProcessor Непримененные методы преобразуются в функции только тогда, когда ожидается тип функции.Вы можете сделать это преобразование явным, написав процесс _ или процесс (, ) вместо процесса.

    What am I doing wrong here ? How to fix this ?

1 Ответ

0 голосов
/ 26 октября 2018

Возможно myFunc2 должно иметь тип Map[String, (DataFrameReader, SparkSession) => Unit]?

Так что попробуйте:

val myFuncs2 : Map[String, (DataFrameReader, SparkSession) => Unit]=
  Map(
    "benchmark_model_vals" -> new ValsProcessor().process,
    "benchmark_model_vals2" -> ValsProcessor2().process
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...