rubyのEnumertor
https://www.ruby-forum.com/topic/934794
にあるみたいに、Enumeratorにwith_indexとかつけてさらにEnumeratorを返すようなメソッドを呼ぶとき、|(e, i), j|
みたいにカッコで囲んで前の要素を表現出来る。
例えば、
1.upto(10).each.with_index.with_index do |(a, i), j| p "a: #{a}, i: #{i}, j:#{j}" end => a: 1, i: 0, j:0 a: 2, i: 1, j:1 a: 3, i: 2, j:2 a: 4, i: 3, j:3 a: 5, i: 4, j:4 a: 6, i: 5, j:5 a: 7, i: 6, j:6 a: 8, i: 7, j:7 a: 9, i: 8, j:8 a: 10, i: 9, j:9
みたいな感じ。with_indexしてからinjectとか出来てけっこう便利。
matched_tags.each_with_index.inject(''){|str, (tag, i)| str + "| #{tag[:name]} | #{tag[:articles_num]} | #{i+1} |\n"}
で、markdownのテーブルとかさくっと作れる。