代码之家  ›  专栏  ›  技术社区  ›  Raman Mishra

什么是ev.R型?

  •  1
  • Raman Mishra  · 技术社区  · 6 年前

    我有一个结果集 com.datastax.driver.core.ResultSet 从中获取ExecutionInfo,从ExecutionInfo中提取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.micros秒

    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
    
    0 回复  |  直到 6 年前