Scala多态函数用于过滤输入列表的任一个
发布时间:2020-12-16 19:20:26 所属栏目:安全 来源:网络整理
导读:寻求更优雅的解决方案 我有这段代码,我只是在没有必要进行任何错误处理的测试用例中使用它.它的作用是: 获取字符串的输入列表 使用DSJSonmapper.parseDSResult方法解析它们 过滤它们并从每个Either中提取Right值(Left是一个例外) 代码如下: def parseDs(in
寻求更优雅的解决方案
我有这段代码,我只是在没有必要进行任何错误处理的测试用例中使用它.它的作用是: >获取字符串的输入列表 代码如下: 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))) } 现在,我还没有做过很多多态函数,但这很有效.不过我觉得它有点难看.谁有更好的建议,如何完成同样的事情. 我知道这将归结为个人偏好的情况.但欢迎提出建议. 解决方法
收集是针对这种情况而制作的:
def filterMe[U,T]]): List[T] = in.collect{ case Right(r) => r } 事实上,它在这方面非常好,你可能想跳过def而且只是 ins.map(DSJsonMapper.parseDsResult).collect{ case Right(r) => r } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AngularJS:使用异步数据初始化服务
- scala – “Overriding”继承了方差
- Bootstrap3.0学习第二十轮(JavaScript插件——滚动监听)
- 整理关于Bootstrap过渡动画的慕课笔记
- pb12 开发 webservice 注意事项
- Angular的问题【学习angular的,建议看看】
- scala – sbt 0.11.2如何将~copy-resources与~aux-compile结
- 将ng2-bootstrap添加到angular2-seed时,’tab’不是已知的元
- angularjs – 如何在Angular Material中获取活动选项卡
- angularjs – 量角器 – 如果元素isNotPresent非常慢,则测试