寻求更优雅的解决方案
我有这段代码,我只是在不需要进行任何错误处理的测试用例中使用它。它的作用是:
- 获取字符串的输入列表
- 使用 DSJSonmapper.parseDSResult 方法解析它们
- 过滤它们并从每个 Either 中提取 Right 值(Left 是一个例外)
代码如下:
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)))
}
现在,我还没有做很多多态函数,但这很有效。不过我觉得有点丑。有没有人有更好的建议,如何完成同样的事情。
我知道这将归结为个人喜好。但欢迎提出建议。