scala – 如何从方法返回可选信息?
发布时间:2020-12-16 09:13:21 所属栏目:安全 来源:网络整理
导读:一般的问题是如何从方法返回附加信息,而不是计算的实际结果.但是我想,这个信息可以默默地被忽略. 以例如在Iterator上的dropWhile方法.返回的结果是突变迭代器.但也许有时我可能会对下降的元素数量感兴趣. 在dropWhile的情况下,可以通过向迭代器添加索引并计
一般的问题是如何从方法返回附加信息,而不是计算的实际结果.但是我想,这个信息可以默默地被忽略.
以例如在Iterator上的dropWhile方法.返回的结果是突变迭代器.但也许有时我可能会对下降的元素数量感兴趣. 在dropWhile的情况下,可以通过向迭代器添加索引并计算之后的删除步数,从而可以在外部生成此信息.但一般来说这是不可能的. 我简单的解决方案是返回一个具有实际结果和可选信息的元组.但是,当我调用该方法时,我需要处理元组 – 即使我对可选信息不感兴趣. 那么问题是,是否有一些聪明的方式来收集这样的可选信息? 也许通过选项[X =>单位]参数与回调函数默认为无?有更聪明的东西吗? 解决方法
只是我这两分钱在这里
你可以声明这一点: case class RichResult[+A,+B](val result: A,val info: B) 隐式转换为A: implicit def unwrapRichResult[A,B](richResult: RichResult[A,B]): A = richResult.result 然后: def someMethod: RichResult[Int,String] = /* ... */ val richRes = someMethod val res: Int = someMethod (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- bash – 是否有可能在使用sudo调用的脚本中获取真实的用户名
- angularjs – 如何在angular.js中的指令模板中插入新行?
- AngularJS忽略了一些标题
- 9-Shell的逻辑操作符知识介绍-实践及企业案例脚本剖析
- simple-form – Bootstrap 3 simple_forms复选框
- WSO2 ——(6)开发几种services的方法:SOAP与REST
- angularjs – 当项目是用grunt构建时,Fontawesome不工作
- ip、ss、nmcli、ifconfig、netstat及bonding实验
- 如何使Emacs shell模式渲染(或忽略)我的颜色,而不是打印ASC
- Bootstrap 轮播插件