私は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
ですか?