如何在Scala中返回一个迭代器?
发布时间:2020-12-16 09:37:10 所属栏目:安全 来源:网络整理
导读:为了能够从方法/类返回迭代器,我该怎么办?如何将这个特质添加到课堂? 解决方法 您可以扩展 Iterator,这将要求您实现下一个和hasNext方法: class MyAnswer extends Iterator[Int] { def hasNext = true def next = 42 } 但是,如果扩展Iterable需要实现
为了能够从方法/类返回迭代器,我该怎么办?如何将这个特质添加到课堂?
解决方法
您可以扩展
Iterator,这将要求您实现下一个和hasNext方法:
class MyAnswer extends Iterator[Int] { def hasNext = true def next = 42 } 但是,如果扩展Iterable需要实现元素(或2.8中的迭代器),您将获得更大的灵活性: class MyAnswer extends Iterable[Int] { def iterator = new Iterator[Int] { def hasNext = true def next = 42 } } 一个常见的成语似乎是将迭代器暴露给某些私人收藏,如下所示: class MyStooges extends Iterable[String] { private val stooges = List("Moe","Larry","Curly") def iterator = stooges.iterator } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 一个数组中取出包含另一个数组的数据
- 在Unix Shell脚本中逐行(带空格)读取文件 – 问题
- [工作问题]angluarjs中页面初始化的时候会出现语法{{}}在页
- bash – 使用管道时修改文件的最佳方法?
- Angular-CLI项目可以使用lite-server而不是ng服务运行吗?
- shell终端常用快捷键和小技巧
- twitter-bootstrap – 如何在bootstrap数据目标v-for中正确
- angular – Typescript:使用类作为接口
- python连接MySQL、MongoDB、Redis、memcache等数据库的方法
- scala – 为什么sbt在清洁后每次都执行依赖解析?
推荐文章
站长推荐
- security – 监视Unix系统上用户的shell活动?
- 来自Scala中使用Play框架的迭代器的响应
- Scalable Object Detection using Deep Neural N
- regex – Bash,grep在具有指定字符串的两行之间
- 如何使用Angular 2.0中的formControl访问Native
- AngularJS强制验证或等待$scope.myForm.$有效刷新
- vim – nnoremap和inoremap之间的区别
- 简单WebService示例
- 如何修复docker-compose.yml? – 期待,但发现”
- BootStrap Table后台分页时前台删除最后一页所有
热点阅读