Ruby array each_slice_with_index?

前端 未结 3 1667
野趣味
野趣味 2021-02-01 13:30

If I have arr = [1, 2, 3, 4] I know I can do the following...

> arr.each_slice(2) { |a, b| puts \"#{a}, #{b}\" }
1, 2
3, 4

...A

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-02-01 14:06

    Like most iterator methods, each_slice returns an enumerable when called without a block since ruby 1.8.7+, which you can then call further enumerable methods on. So you can do:

    arr.each_slice(2).with_index { |(a, b), i| puts "#{i} - #{a}, #{b}" }
    

提交回复
热议问题