代码:

 c = 0  
 items.each { |i|  
   puts i.to_s    
   # if c > 9 escape the each iteration early - and do not repeat  
   c++  
 }  

我想抓取前10个项目,然后离开"每个"循环.

我应该用什么替换注释行?有更好的方法吗?还有更具Ruby风格的吗?

推荐答案

虽然break解决方案有效,但我认为更实用的方法确实适合这个问题.你想把前10个元素打印出来,所以试试吧

items.take(10).each { |i| puts i.to_s }

Ruby相关问答推荐

为什么非数字在Ruby中被转换为integer?

从同名方法调用 ruby​​ 中的方法

Ruby:如何将两个返回值连接到一行中的两个字符串

在 Ruby 中使用委托维护相同的类

将 pp 的结果(或输出到控制台的任何内容)放入字符串

判断Ruby中的目录是否为空

带有索引的 Ruby `each_with_object`

Scala 的扩展性是否优于其他 JVM 语言?

Ruby 在与源相同的目录中加载配置(yaml)文件

在 RSpec-2.11 中使用隐含的 `subject` 和 `expect`

如何使用 if..else 块的结果分配变量?

在 Ruby 中,获取第一个块返回 true 的可枚举元素的最快方法是什么?

RSpec:如何测试文件操作和文件内容

我应该如何在哈希上使用 each_with_object?

从命令行调用 ruby​​ 函数

你能在 Python 的核心类型上修改补丁方法吗?

在 Ruby 中获取用户主目录的跨平台方法?

Ruby 中的Monkey Patching到底是什么意思?

您的 Ruby 版本是 2.0.0,但您的 Gemfile 指定了 2.1.0

如何删除已安装的 ri 和 rdoc?