冗長な部分を避けるためにこのコードを書き直す方法を誰か教えてもらえますか?
val lineSplit = line.split(" ")
lineSplit match {
case Array(cls @ TaggedString(), prop @ TaggedString(), value @ Literal(), ".") => {processProperty(prop);processLiteral(value)}
case Array(cls @ TaggedString(), prop @ TaggedString(), value @ LiteralwithSchema(), ".") => {processProperty(prop);processExtendedLiteral(value)}
case Array(cls @ TaggedString(), prop @ TaggedString(), value @ TaggedString(), ".") => {processProperty(prop);processTag(value)}
case _ => throw new IllegalArgumentException("unable to identify line format")
}
すでに見たことがあるかもしれませんが、抽出されたプロパティを持つ部分は常に同じです。その部分を十分に因数分解する方法はありますか?
あなたの入力のためのthx、
ステファン