Ruby 2.2.1 - string.each_char is not giving unique indices for reoccurring letters - how do I do that? -
i'm confused behavior of each_char, i'm trying iterate through string , unique, specific index each character in string. ruby seems not iterate on every discrete character, rather 1 copy of given character populates string.
def test(string) string.each_char |char| puts string.index(char) end end test("hello") test("aaaaa")
produces result:
2.2.1 :007 > test("hello") 0 1 2 2 4 2.2.1 :008 > test("aaaaa") 0 0 0 0 0
this seems counter intuitive general form of #each in other contexts. expect indices "aaaaa" 0, 1, 2, 3, 4 - how can achieve behavior?
i looked @ official documentation string , doesn't seem include method behaves way.
.each_char
giving every "a"
in string. each "a"
identical - when you're looking "a"
, .index
give first 1 finds, since can't know you're giving it, say, third one.
the way not char find index (because can't, given above), index along char.
def test(string) string.each_char.with_index |char, index| puts "#{char}: #{index}" end end
Comments
Post a Comment