fork(1) download
  1. A = [[1, :a], [2, :b], [3, :c], [1, :d]]
  2. B = [[1, :e], [2, :f]]
  3.  
  4.  
  5. Bh = B.to_h
  6.  
  7. C = A.map { |(k, *vs)|
  8. v = Bh[k]
  9.  
  10. [k] + if v then vs + [v] else vs end
  11. }
  12.  
  13.  
  14. p :A => A
  15. p :B => B
  16. p :C => C
Success #stdin #stdout 0s 28216KB
stdin
Standard input is empty
stdout
{:A=>[[1, :a], [2, :b], [3, :c], [1, :d]]}
{:B=>[[1, :e], [2, :f]]}
{:C=>[[1, :a, :e], [2, :b, :f], [3, :c], [1, :d, :e]]}