From: Eric Luo Date: 2006-03-28T19:08:55+09:00 Subject: Noob: The ruby way to multiple Array by multiple? I want to make a Array multipled by another Array, and the following semantic. For example: [1, 2, 3] * [4, 5] then I will want [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]] returned. I have the following code snippet to implement this function: class Array alias_method :orig_multiple, :* def *(arg) case arg when Array if arg.empty? self else inject([]) do |product, item| product.concat(arg.collect do |i| case item when Array item.clone << i else [item, i] end end) end end else orig_multiple(arg) end end end It works but seems ugly. Could anyone please to give me a clue to make it beauty and rubish! Thx in advance. Eric