0

私はscalaを初めて使用します。ばかげた質問で申し訳ありません。この Scala コードから return ステートメントを削除したい (私の実際のケースはこれよりもはるかに複雑です)

def readValue[Type](value: Any)(implicit tag: ClassTag[Type]): Type = {

    if (value == null) { 
      return null.asInstanceOf[Type] 
    } else {
      if (classOf[URL].isAssignableFrom(tag.runtimeClass)) {
        return new URL(value.toString).asInstanceOf[Type]
      }
      if (classOf[URI].isAssignableFrom(tag.runtimeClass)) {
        return new URI(value.toString).asInstanceOf[Type]
      }
      null.asInstanceOf[Type]
    }
}

そのため、次のように Type インスタンスの戻り値を格納したいと考えています。

def readValue[Type](value: Any)(implicit tag: ClassTag[Type]): Type = {

    var retVal:Type = null
    if (value == null) { 
       // retVal=...
    } 
    else { 
       // if cond: retVal=...
    }
    retVal
}

上記のソリューションはコンパイルされません。type の変数を初期化するにはどうすればよいTypeですか?

4

2 に答える 2