[ruby-core:108198] [Ruby master Feature#18685] Enumerator.product: Cartesian product of enumerators
From:
"knu (Akinori MUSHA)" <noreply@...>
Date:
2022-04-08 07:20:36 UTC
List:
ruby-core #108198
SXNzdWUgIzE4Njg1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGtudSAoQWtpbm9yaSBNVVNIQSkuDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE4Njg1 OiBFbnVtZXJhdG9yLnByb2R1Y3Q6IENhcnRlc2lhbiBwcm9kdWN0IG9mIGVudW1lcmF0b3JzDQpo dHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTg2ODUNCg0KKiBBdXRob3I6IGtudSAo QWtpbm9yaSBNVVNIQSkNCiogU3RhdHVzOiBPcGVuDQoqIFByaW9yaXR5OiBOb3JtYWwNCiogVGFy Z2V0IHZlcnNpb246IDMuMg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KSSdkIGxpa2UgdG8gYWRkIGEgbmV3IEVudW1lcmF0b3IgY2xhc3MgbWV0aG9kIGZvciBnZW5l cmF0aW5nIHRoZSBDYXJ0ZXNpYW4gcHJvZHVjdCBvZiBnaXZlbiBlbnVtZXJhdG9ycy4NCkEgcHJv ZHVjdCBoZXJlIGRvZXMgbm90IG1lYW4gYW4gYWNjdW11bGF0ZWQgYXJyYXkgb2YgYXJyYXlzLCBi dXQgYW4gZW51bWVyYXRvciB0byBlbnVtZXJhdGUgYWxsIGNvbWJpbmF0aW9ucy4NCg0KYGBgcnVi eQ0KcHJvZHVjdCA9IEVudW1lcmF0b3IucHJvZHVjdCgxLi4zLCBbIkEiLCAiQiJdKQ0KcCBwcm9k dWN0LmNsYXNzICM9PiBFbnVtZXJhdG9yDQoNCnByb2R1Y3QuZWFjaCBkbyB8aSwgY3wNCiAgcHV0 cyAiI3tpfS0je2N9Ig0KZW5kDQoNCj1iZWdpbiBvdXRwdXQNCjEtQQ0KMS1CDQoyLUENCjItQg0K My1BDQozLUINCj1lbmQNCmBgYA0KDQpUaGlzIGNhbiBiZSB1c2VkIHRvIHJlZHVjZSBuZXN0ZWQg YmxvY2tzIGFuZCBhbGxvd3MgZm9yIGl0ZXJhdGluZyBvdmVyIGFuIGluZGVmaW5pdGUgbnVtYmVy IG9mIGVudW1lcmFibGUgb2JqZWN0cy4NCg0KIyMgSW1wbGVtZW50YXRpb24gbm90ZXMNCg0KLSBJ dCBzaG91bGQgaW50ZXJuYWxseSB1c2UgYGVhY2hfZW50cnlgIGluc3RlYWQgb2YgYGVhY2hgIG9u IGVudW1lcmFibGUgb2JqZWN0cyB0byBtYWtlIHN1cmUgdG8gY2FwdHVyZSBhbGwgeWllbGRlZCBh cmd1bWVudHMgZnJvbSBlbnVtZXJhYmxlIG9iamVjdHMuDQotIElmIG5vIGVudW1lcmFibGUgb2Jq ZWN0IGlzIGdpdmVuLCB0aGUgYmxvY2sgaXMgY2FsbGVkIG9uY2Ugd2l0aCBubyBhcmd1bWVudC4N Ci0gSXQgc2hvdWxkIHJlamVjdCBhIGtleXdvcmQtc3R5bGUgaGFzaCBhcmd1bWVudCBzbyB3ZSBj YW4gYWRkIGtleXdvcmQgYXJndW1lbnRzIGluIHRoZSBmdXR1cmUgd2l0aG91dCBicmVha2luZyBl eGlzdGluZyBjb2RlLg0KLSBIZXJlJ3MgYW4gZXhhbXBsZSBpbXBsZW1lbnRhdGlvbjoNCg0KICBg YGBydWJ5DQogICMgY2FsbC1zZXE6DQogICMgICBFbnVtZXJhdG9yLnByb2R1Y3QoKmVudW1zKSAg ICAgICAgICAgICAgICAgICAtPiBlbnVtDQogICMgICBFbnVtZXJhdG9yLnByb2R1Y3QoKmVudW1z KSB7IHwqYXJnc3wgYmxvY2sgfSAtPiByZXR1cm4gdmFsdWUgb2YgYXJnc1swXS5lYWNoX2VudHJ5 IHt9DQogIGRlZiBFbnVtZXJhdG9yLnByb2R1Y3QoKmVudW1zLCAqKmt3LCAmYmxvY2spDQogICAg a3cuZW1wdHk/IG9yIHJhaXNlIEFyZ3VtZW50RXJyb3IsICJ1bmtub3duIGtleXdvcmQjeyJzIiBp ZiBrdy5zaXplID4gMX06ICN7a3cua2V5cy5tYXAoJjppbnNwZWN0KS5qb2luKCIsICIpfSINCg0K ICAgIyBUT0RPOiBzaXplIHNob3VsZCBiZSBjYWxjdWxhdGVkIGlmIHBvc3NpYmxlDQogICAgcmV0 dXJuIHRvX2VudW0oX19tZXRob2RfXywgKmVudW1zLCAqKmt3KSBpZiBibG9jay5uaWw/DQoNCiAg ICBlbnVtcy5yZXZlcnNlLnJlZHVjZShibG9jaykgeyB8aW5uZXIsIGVudW18DQogICAgICAtPigq dmFsdWVzKSB7DQogICAgICAgIGVudW0uZWFjaF9lbnRyeSB7IHx2YWx1ZXwNCiAgICAgICAgICBp bm5lci5jYWxsKCp2YWx1ZXMsIHZhbHVlKQ0KICAgICAgICB9DQogICAgICB9DQogICAgfS5jYWxs KCkNCiAgZW5kDQogIGBgYA0KDQotIE5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGBFbnVtZXJhdG9y LnByb2R1Y2VgLiDwn5idDQoNCiMjIFByaW9yIGNhc2UNCi0gUHl0aG9uOiBodHRwczovL2RvY3Mu cHl0aG9uLm9yZy8zL2xpYnJhcnkvaXRlcnRvb2xzLmh0bWwjaXRlcnRvb2xzLnByb2R1Y3QNCg0K DQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCgpVbnN1YnNjcmliZTogPG1h aWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+ CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5 LWNvcmU+Cg==