我有以下的 Ruby 哈希表:
我想将其转置如下:
现在,我想到了一个能够实现我想要的功能的函数,但我想知道是否有更简洁/优雅的方式来完成同样的事情?
我的解决方案:
h = { i1: { q1: 1, q2:2 }, i2: { q1: 3, q2: 4} }
我想将其转置如下:
{ q1: { i1: 1, i2: 3 }, q2: { i1: 2, i2: 4 } }
现在,我想到了一个能够实现我想要的功能的函数,但我想知道是否有更简洁/优雅的方式来完成同样的事情?
我的解决方案:
ht = Hash.new{ |h,k| h[k] = {} }
h.each_pair do |k,ih|
ih.each_pair{ |ik, iv| ht[ik][k] = iv }
end