我总是使用计数器判断循环中的第一项(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相关问答推荐

使用 RSpec 测试嵌套哈希时随机排序数组的匹配

每次调用返回新的 REST 响应的 Ruby Rspec class_double

用函数组合枚举器的Ruby方法

Ruby 是否提供了一种使用指定编码执行 File.read() 的方法?

需要在Ruby中将数组拆分为指定大小的子数组

使用 Ruby 将文件从一个目录复制到另一个目录

Ruby 中有类似 Python 生成器的东西吗?

Ruby:如何卸载设计(uninstall Devise)?

在 Ruby 早期转义 .each { } 迭代

将参数传递给erb视图

在 ruby​​ 中访问嵌套哈希的元素

确定字符串数组是否包含ruby中的某个子字符串

Rails 在最后一个之前加入逗号和and的字符串列表

如何声明 RSpec 中示例之间共享的变量?

Puppet/Facter无法检索事实 fqdn:如何修复或规避?

Ruby 中方法名称的限制是什么?

困惑,像python,ruby这样的语言是单线程的吗?不像说java? (对于网络应用程序)

如何使用 RVM 更新 Ruby 解释器?

野外的好黄瓜例子?

将整个文本文件作为单个字符串读取的合理方法是什么?