首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >拼音each_with_index偏移量

拼音each_with_index偏移量
EN

Stack Overflow用户
提问于 2011-04-13 16:26:42
回答 8查看 75.1K关注 0票数 84

我可以在each_with_index循环迭代器中定义索引的偏移量吗?我的直接尝试失败了:

some_array.each_with_index{|item, index = 1| some_func(item, index) }

编辑:

澄清:我不想要数组偏移量,我希望each_with_index中的索引不是从0开始,而是从1开始。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-04-13 20:11:41

实际上,Enumerator#with_index接收offset作为可选参数:

[:foo, :bar, :baz].to_enum.with_index(1).each do |elem, i|
  puts "#{i}: #{elem}"
end

输出:

1: foo
2: bar
3: baz

顺便说一句,我认为它只在1.9.2中有。

票数 110
EN

Stack Overflow用户

发布于 2013-10-24 21:17:56

下面使用Ruby的枚举器类,非常简洁。

[:foo, :bar, :baz].each.with_index(1) do |elem, i|
    puts "#{i}: #{elem}"
end

输出

1: foo
2: bar
3: baz

Array#each返回一个枚举器,调用Enumerator#with_index返回另一个枚举器,一个块被传递到该枚举器。

票数 50
EN

Stack Overflow用户

发布于 2011-04-14 06:35:04

如果some_index在某种程度上有意义,那么可以考虑使用散列,而不是数组。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5646390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档