Project

General

Profile

Feature #8970

Array.zip and Array.product

Added by sawa (Tsuyoshi Sawada) over 6 years ago. Updated 9 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:57498]

Description

=begin
Most of the time when I use Array#zip or Array#product, I feel cumbursome that I have to take out the first array and pass it as a receiver. For example, if I have

a = [[:a, :b, :c], [:d, :e, :f], [:g, :h, :i]]

I have to do something like this:

a.first.zip(*a.drop(1)){...}
a.first.product(*a.drop(1)){...}

Sometimes, the receiver (i.e., the first array) has significance, but most other times, that breaks asymmetry, making the code look ugly.

I would be happy if we had Array.zip and Array.product in addition so that we can do it like this:

Array.zip(*a){...}
Array.product(*a){...}

=end


Related issues

Has duplicate Ruby master - Feature #6499: Array::zipRejectedmatz (Yukihiro Matsumoto)05/26/2012Actions
Is duplicate of Ruby master - Feature #7444: Array#product_setOpenmatz (Yukihiro Matsumoto)Actions

Also available in: Atom PDF