arrayから引数に該当するindexの位置を取得してarrayで返す
require 'indexes'
[1, 2, 3, 1, 2].indexes 1
#=> [0, 3]
["foo", "bar", "baz", "foo", "baz", "foo"].indexes "foo"
#=> [0, 3, 5]
["foo", 1, 2, "foo", 3, "foo"].indexes { |i| i.class == String }
#=> [0, 3, 5]
引数に該当する要素から次の該当する要素までを取得してarrayで返す
require 'indexes'
[1, 2, 3, 1, 2].slice_indexes 1
#=> [[1, 2, 3], [1, 2]]
["foo", "bar", "baz", "foo", "baz", "foo"].slice_indexes "foo"
#=> [["foo", "bar", "baz"], ["foo", "baz"], ["foo"]]
["foo", 1, 2, "foo", 3, "foo"].slice_indexes { |i| i.class == String }
#=> [["foo", 1, 2], ["foo", 3], ["foo"]]