Что такое тип ev.R? - PullRequest
       25

Что такое тип ev.R?

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

У меня есть ResultSet, равный com.datastax.driver.core.ResultSet, из которого я беру ExecutionInfo, а из executeInfo я извлекаю queryTrace, как вы видите следующий код.

resultSet.getAllExecutionInfo.forEach { exeInfo: ExecutionInfo =>
        val queryTimeTaken: FiniteDuration = exeInfo.getQueryTrace.getDurationMicros.microsecond  //this works fine if i do getDurationMicros microsecond it return ev.R
        exeInfo.getQueryTrace.getEvents.forEach { event =>
          if (queryTimeTaken > timeTakenLimit) {
            TraceLogger.info {
              s"DateTime = ${sdf.format {event.getTimestamp}} Description = ${event.getDescription}  " +
                s"TimeElapsedMicro = ${event.getSourceElapsedMicros} Statement = ${exeInfo.getStatement}" +
                s" TimeTaken =$queryTimeTaken"
            }
          }
        }
      }

во второй строкекод, который

val queryTimeTaken: FiniteDuration = exeInfo.getQueryTrace.getDurationMicros.microsecond

, когда я делаю getDurationMicros.microsecond, он возвращает объект FiniteDuration, но если я это делаюgetDurationMicros microsecond тип возвращаемого значения ev.R Может кто-нибудь объяснить, почему он вызывает такой тип.Какая разница между пространством в этих двух строках?

Это как-то связано с оценкой выражения постфикса?

Редактировать одно:

def a = 500
val x: FiniteDuration = a.microsecond // this works fine
val y: FiniteDuration = 500 microsecond

def a = 500
val x: ev.R = a.microsecond() // this gives ev.R
val y: FiniteDuration = 500 microsecond

def a = 500
val x: FiniteDuration  = a microsecond // this works fine
val y: FiniteDuration = 500 microsecond
...