よりエレガントなソリューションを求めて
私はこのコードを持っています。エラー処理を行う必要がないテストケースで使用します。それが何をするか:
- 文字列の入力リストを取得します
- DSJStteper.parseDSResultメソッドを使用してそれらを解析します
- それらをフィルタリングし、それぞれから右の値を抽出します(左は例外です)
コードは次のとおりです。
def parseDs(ins: List[String]) = {
def filterResults[U, T](in: List[Either[U, T]]): List[T] = {
in.filter(y => y.isRight).map(z => z.right.get)
}
filterResults(ins.map(x => DSJsonMapper.parseDSResult(x)))
}
今、私はそれほど多くのポリモーフィック関数を実行していませんが、これは機能します。でも少し醜い気がします。誰かが同じことを達成する方法について、より良い提案を持っていますか?
私はこれが個人的な好みの場合に帰着することを知っています。しかし、提案は大歓迎です。