ruby - 如何在 Ruby 循环的第一次迭代中采取不同的行动?

标签 ruby

我总是使用计数器来检查循环中的第一项 (i==0):

i = 0
my_array.each do |item|
  if i==0
    # do something with the first item
  end
  # common stuff
  i += 1
end

是否有更优雅的方式来做到这一点(也许是一种方法)?

最佳答案

你可以这样做:

my_array.each_with_index do |item, index|
    if index == 0
        # do something with the first item
    end
    # common stuff
end

试试ideone .

关于ruby - 如何在 Ruby 循环的第一次迭代中采取不同的行动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181390/

相关文章:

ruby-on-rails - 没有 has_many 关联元素的 Rails 作用域过滤元素

ruby - 使用 Aruba 和 Bundler 测试基于 Ruby 的 CLI

ruby - 当我的字符串为空时,如何阻止 Time.parse 返回当前日期?

ruby-on-rails - 使用 Mocha 进行模拟实际上如何让您测试函数中的逻辑?

ruby - 为什么我不能在 Mac OS Sierra 上安装 Sass?

ruby-on-rails - rails中add_references和add_column的区别

ruby - 什么是 Ruby 文件 I/O 中的 EOFError?

ruby - 从 Ruby 2.7 升级到 3.0 时出现 ArgumentError - 与位置参数和关键字参数的分离有关吗?

ruby - 在 Ruby block 中使用 'return'

java - 自动将 Java 正则表达式转换为 Ruby 正则表达式?