Array#slice_by_indexesというgemを作った

August 1, 2014 by Yudai Suzuki

2014/8/5 修正 名前変えた

Array#slice_indexes -> Array#slice_by_indexes

名前全然思いつかなくて仮で付けてた名前そのまま採用した。コードもきれいとはいえないと思う。やりたいことができたので一旦公開した。

onigra/slice_by_indexes

何ができるのかは言葉で説明し辛いのでREADMEの内容そのまま書く。

Array#Indexes

arrayから引数に該当するindexの位置を取得してarrayで返す

require 'slice_by_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#slice_by_indexes

引数に該当する要素から次の該当する要素までを取得してarrayで返す

require 'slice_by_indexes'

[1, 2, 3, 1, 2].slice_by_indexes 1

#=> [[1, 2, 3], [1, 2]]

["foo", "bar", "baz", "foo", "baz", "foo"].slice_by_indexes "foo"

#=> [["foo", "bar", "baz"], ["foo", "baz"], ["foo"]]

["foo", 1, 2, "foo", 3, "foo"].slice_by_indexes { |i| i.class == String }

#=> [["foo", 1, 2], ["foo", 3], ["foo"]]

© 2017 | Onigra | Powerd by Hucore theme & Hugo