[ruby-core:94292] [Ruby master Feature#14399] Add Enumerable#product

From: Ruby-Lang@...
Date: 2019-08-11 21:34:46 UTC
List: ruby-core #94292
SXNzdWUgIzE0Mzk5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgandtaXR0YWcgKErDtnJnIFcgTWl0dGFn
KS4NCg0KDQpqemFraXlhIChKYWJhcmkgWmFraXlhKSB3cm90ZToNCj4gVGhhdCdzIGludGVyZXN0
aW5nIGJlY2F1c2UgSSBuZXZlciBpbnR1aXRpdmVseSB1bmRlcnN0b29kIHRoZSB1c2UNCj4gb2Yg
YGluamVjdGANCg0KVGhpcyBpcyBiYXN0YXJkaXplZCBmcm9tIFNtYWxsdGFsay4gSW4gU21hbGx0
YWxrLCBtZXRob2QgbmFtZXMgY29uc2lzdCBvZiBtdWx0aXBsZSB3b3JkcyBhbmQgdGhlIGFyZ3Vt
ZW50cyBhcmUgd3JpdHRlbiBpbiBiZXR3ZWVuIHRoZSB3b3Jkcy4gSW4gU21hbGx0YWxrLCB0aGUg
bWV0aG9kIGlzIGNhbGxlZCBgaW5qZWN0OmludG86YCBhbmQgaXMgY2FsbGVkIGxpa2UgYGFDb2xs
ZWN0aW9uIGluamVjdDogYVZhbHVlIGludG86IGFCbG9ja2AsIGkuZS4geW91IGluamVjdCBhbiBh
Y2N1bXVsYXRvciBpbnRvIGEgYmxvY2sgdGhhdCBpcyBleGVjdXRlZCBmb3IgZWFjaCBlbGVtZW50
LiBUaGlzIGEpIG1ha2VzIHNlbnNlLCBhbmQgYikgZml0cyB3aXRoIHRoZSAiaW4tam9rZSIgb2Yg
bmFtaW5nIGFsbCBvZiBTbWFsbHRhbGsncyBjb2xsZWN0aW9uIG9wZXJhdGlvbnMgdXNpbmcgbmFt
ZXMgdGhhdCByaHltZSAoYGluamVjdDppbnRvOmAsIGBjb2xsZWN0OmAsIGByZWplY3Q6YCwgYHNl
bGVjdDpgLCBgZGV0ZWN0OmApLiBSdWJ5IGlzIGhlYXZpbHkgYmFzZWQgb24gU21hbGx0YWxrLCBz
byBpdCBpcyBnZW5lcmFsbHkgZXhwZWN0ZWQgdGhhdCBuZXdjb21lcnMgdG8gUnVieSB3aWxsIGJl
IGZhbWlsaWFyIHdpdGggU21hbGx0YWxrJ3MgY29sbGVjdGlvbiBvcGVyYXRpb25zLCB0aGVyZWZv
cmUgdGhlIHNsaWdodGx5IHVudXN1YWwgbmFtZXMuDQoNCkhvd2V2ZXIsIHRoZSBtZWFuaW5nIG9m
ICJpbmplY3RpbmcgYW4gYWNjdW11bGF0b3IgaW50byBhIGJsb2NrIiBnZXRzIGxvc3QgYmVjYXVz
ZSBpbiBSdWJ5LCB3ZSBjYW5ub3Qgd3JpdGUgaXQgdGhhdCB3YXksIGFuZCBzbyB3ZSBsb3NlIHRo
ZSAiaW50byIgZnJvbSB0aGUgbmFtZS4NCg0KPiBbSV0gYWx3YXlzIG5vdyB1c2UgDQo+IGByZWR1
Y2VgLCB3aGljaCBb4oCmXSBoYXMgbG9uZyBiZWVuIGEgY29uY2VwdCBpbiBmdW5jdGlvbmFsIA0K
PiBwcm9ncmFtbWluZy4NCg0KTm90ZSBob3dldmVyLCB0aGF0IGF0IGxlYXN0IGluIHNvbWUgcHJv
Z3JhbW1pbmcgbGFuZ3VhZ2VzLCBgcmVkdWNlYCBpcyBhICpyZXN0cmljdGVkKiB2ZXJzaW9uIG9m
IGEgYGZvbGRgIHdoaWNoIGhhcyBhIHJlc3RyaWN0ZWQgdHlwZSBzaWduYXR1cmUgYW5kIG9ubHkg
d29ya3Mgb24gbm9uLWVtcHR5IGNvbGxlY3Rpb25zLiBJbiBwYXJ0aWN1bGFyLCBpbiBTY2FsYSwg
YHJlZHVjZWAgaXMgZXF1aXZhbGVudCB0byBSdWJ5J3MgYGluamVjdGAgd2l0aCBvbmx5IGEgYmxv
Y2sgYXJndW1lbnQsIGFuZCBgZm9sZGAgaXMgZXF1aXZhbGVudCB0byBSdWJ5J3MgYGluamVjdGAg
d2l0aCBhbiBleHBsaWNpdCBzdGFydCBhcmd1bWVudC4gKEluIEVDTUFTY3JpcHQgT1RPSCwgYHJl
ZHVjZWAgaXMgdGhlIGdlbmVyYWwgdmVyc2lvbi4pDQogDQo+IGByZWR1Y2VgIFvigKZdIHdhcyAo
SSBiZWxpZXZlKSBjcmVhdGVkIGJ5IEhhc2tlbGwgKHRoZSBwZXJzb24gYW5kIA0KPiBwcm9ncmFt
bWluZyBsYW5ndWFnZSkNCg0KQWN0dWFsbHksIEhhc2tlbGwgY2FsbHMgdGhlIGdlbmVyYWwgdmVy
c2lvbiBgZm9sZGAgYW5kIHRoZSByZXN0cmljdGVkIHZlcnNpb24gYGZvbGQxYCAoYmVjYXVzZSBp
dCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgZWxlbWVudCwgYW5kIHdpbGwgdGFrZSBlbGVtZW50IG51
bWJlciAxIGFzIHRoZSBhY2N1bXVsYXRvcikuDQoNCj4gVG8gbWUgaXQgc2F5cyB0aGF0IGFuIGFy
cmF5IG9mIG51bWJlcnMgKGl0ZW1zKSB3aWxsIGJlDQo+IHJlZHVjZWR8Y29sbGFwc2VkIGludG8g
YSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gdGhlIGdpdmVuIG9wZXJhdGlvbi4NCg0KVGhpcyBpZGVh
IG9mICJyZWR1Y2luZyB0byBhIHNpbmdsZSB2YWx1ZSIgaXMgdW5mb3J0dW5hdGVseSBzb21ld2hh
dCBtaXNsZWFkaW5nLiBBIGxvdCBvZiBwZW9wbGUgSSB0YWxrIHRvIHRoaW5rIHRoYXQgYGZvbGRg
IGNhbiBvbmx5IGJlIHVzZWQgZm9yIHN1bW1pbmcsIGJlY2F1c2UgdGhleSBkb24ndCB1bmRlcnN0
YW5kIHRoYXQgYSkgdGhlICJzaW5nbGUgdmFsdWUiIGNhbiBiZSBhIGRpZmZlcmVudCB0eXBlIGZy
b20gdGhlIGVsZW1lbnQgdHlwZSBhbmQgYikgdGhlICJzaW5nbGUgdmFsdWUiIGNhbiBiZSBhcmJp
dHJhcmlseSBjb21wbGV4LCBlLmcuIGFuIGFycmF5LCBhIHRyZWUsIGFuIGluc3RydWN0aW9uIHNl
cXVlbmNlLCBldGMuDQoNCkluIGZhY3QsIGBmb2xkYCBpcyBhICpnZW5lcmFsIG1ldGhvZCBvZiBp
dGVyYXRpb24qLCBpdCBjYW4gZG8gKmV2ZXJ5dGhpbmcqIHRoYXQgYSBsb29wIGNhbiBkby4gQSBj
b21waWxlciBpcyBzaW1wbHkgYSBmb2xkIG92ZXIgdGhlIEFTVCwgZm9yIGV4YW1wbGUuIChUaGUg
cmVzdHJpY3RlZCB2ZXJzaW9uLCBpLmUuIHdoYXQgSGFza2VsbCBjYWxscyBgZm9sZDFgIGFuZCBT
Y2FsYSBjYWxscyBgcmVkdWNlYCBPVE9IIGlzICpub3QqIGdlbmVyYWwuKQ0KDQpPciwgaW4gc2hv
cnQ6IG5hbWluZyBpcyBoYXJkIDotRA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQpGZWF0dXJlICMxNDM5OTogQWRkIEVudW1lcmFibGUjcHJvZHVjdA0KaHR0cHM6
Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE0Mzk5I2NoYW5nZS04MDYyMg0KDQoqIEF1dGhv
cjoganpha2l5YSAoSmFiYXJpIFpha2l5YSkNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBO
b3JtYWwNCiogQXNzaWduZWU6IA0KKiBUYXJnZXQgdmVyc2lvbjogDQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGb3Igc2ltaWxhciByZWFzb25zIGZvciBjcmVhdGlu
ZyBgRW51bWVyYWJsZSNzdW1gIGEgY29tcGFuaW9uIG1ldGhvZA0KYEVudW1lcmFibGUjcHJvZHVj
dGAgaXMgYWxzbyB2ZXJ5IHVzZWZ1bC4gVGFraW5nIHRoZSBwcm9kdWN0IG9mDQpudW1iZXJzIGlu
IGFycmF5cyBpcyBhIGNvbW1vbiBvcGVyYXRpb24gaW4gbWFueSBudW1lcmljYWwgYWxnb3JpdGht
cywNCmVzcGVjaWFsbHkgaW4gbnVtYmVyIHRoZW9yeSBhbmQgY3J5cHRvZ3JhcGh5LCBhbmQgaXRz
IG9wdGltaXphdGlvbiBpbg0KUnVieSB3aWxsIG1ha2UgaXQgbW9yZSBjb25kdWNpdmUgdG8gbWF0
aCBoZWF2eSBhbGdvcml0aG1zIGFuZCB0YXNrcy4NCg0KVGhpcw0KDQpgYGANCj4gWzIsMyw1LDdd
LnJlZHVjZSg6KikgPT4gMjEwDQpgYGANCg0KY2FuIGJlIG9wdGltaXplZCB0byB0aGlzDQoNCmBg
YA0KPiBbMiwzLDUsN10ucHJvZHVjdCA9PiAyMTANCmBgYA0KDQpJdCBzaG91bGQgYWxzbyBhbGxv
dyBhbiBpbml0aWFsIHZhbHVlDQoNCmBgYA0KPiBbMiwzLDUsN10ucHJvZHVjdCgyKSA9PiA0MjAN
Cg0KPiBbMiwzLDUsN10ucHJvZHVjdCgwLjUpID0+IDEwNQ0KYGBgDQpDcnlzdGFsIGFscmVhZHkg
aGFzIHRoaXMgYG1ldGhvZGAuDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn
Lw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/
c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4v
bWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next