From: (e-mail address removed) [mailto:
[email protected]]=20
# i have 2 strings, i want to take for each char in string1 the same
# indexed char in string2 and make them into a key->value pair.
# how can i iterate a string?
i'm currently playing w ruby1.9 now, so pls bear w me
irb(main):001:0> s1 =3D "asdf"
=3D> "asdf"
irb(main):002:0> s2 =3D "bnmd"
=3D> "bnmd"
irb(main):004:0> pairs =3D s1.each_char.zip s2.each_char
=3D> #<Enumerable::Enumerator:0xbb69d0>
i like the flexibility of enums, so you can do
irb(main):005:0> pairs.each {|x| p x}
["a", "b"]
["s", "n"]
["d", "m"]
["f", "d"]
=3D> nil
irb(main):006:0> pairs.map{|x|x}
=3D> [["a", "b"], ["s", "n"], ["d", "m"], ["f", "d"]]
irb(main):014:0> pairs.inject({}){|h,(k,v)| h[k]=3Dv; h}
=3D> {"a"=3D>"b", "s"=3D>"n", "d"=3D>"m", "f"=3D>"d"}
irb(main):029:0> pairs.map(&:reverse)
=3D> [["b", "a"], ["n", "s"], ["m", "d"], ["d", "f"]]
irb(main):032:0> pairs.map(&:first).join
=3D> "asdf"
kind regards -botp