わたなべです.

Inaba Hiroto <inaba / st.rim.or.jp> writes:

:Perlの「 @a[@i] = @b 」とか 「@h{@k} = @v」ってrubyではどう書きますか?

@a[@i] = @b は a = b.indexes(*i) と簡単だけど,
hash のほうは難しいですね.

[k[0], v[0],... k[n], v[n]] が帰ってくる method x があれば
h = Hash[*k.x(v)] ですんじゃうけど.

k = %w(a b c d)
v = %w(A B C D)

class Array
  def x(other)
    x = []
    each_index do |i|
      x.concat [self[i], other[i]]
    end
    x
  end
end

h = Hash[*k.x(v)]
p h

-- 
わたなべひろふみ