Array into ranges of consecutive numbers

来源:互联网 发布:长歌门成男脸型数据 编辑:程序博客网 时间:2024/06/07 15:14
ar = [1, 2, 3, 5, 6, 8, 9]prev = ar[0]p ar.slice_before { |e|  prev, prev2 = e, prev  prev2 + 1 != e}.map{|a| a[0]..a[-1]} # >> [1..3, 5..6, 8..9]ar = [1, 2, 3, 5, 6,7, 8, 9,11]prev = ar[0]p ar.slice_before { |e|  prev, prev2 = e, prev  prev2 + 1 != e}.map{|a| a[0]..a[-1]} # >> [1..3, 5..9, 11..11]
0 0