[ruby-core:122712] [Ruby Feature#21386] Introduce `Enumerable#join_map`
From:
"knu (Akinori MUSHA) via ruby-core" <ruby-core@...>
Date:
2025-07-10 08:51:36 UTC
List:
ruby-core #122712
SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkga251IChBa2lub3JpIE1VU0hBKS4NCg0K DQpGV0lXLCB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBgbWFwY29uY2F0YCBpbiBFbWFjczogaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy9tYW51YWwvaHRtbF9ub2RlL2VsaXNwL01h cHBpbmctRnVuY3Rpb25zLmh0bWwjaW5kZXgtbWFwY29uY2F0DQoNCkkgb25jZSB3YW50ZWQgdGhp cyB3aGVuIEkgaW1wbGVtZW50ZWQgc2hlbGxqb2luKCkgYW5kIGNob3NlIHRvIGp1c3QgY2FsbCBt YXAgYW5kIGpvaW4uICBJIGNvbnZpbmNlZCBteXNlbGYgdGhhdCB5b3Ugc2hvdWxkbid0IHdvcnJ5 IHRvbyBtdWNoIGFib3V0IHBlcmZvcm1hbmNlLg0KaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVi eS9ibG9iLzY1YTBmNDY4ODBlY2IxMzk5NGQzMDExYjdhOTVlY2JjNWM2MWM1YTAvbGliL3NoZWxs d29yZHMucmIjTDIwOQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQpGZWF0dXJlICMyMTM4NjogSW50cm9kdWNlIGBFbnVtZXJhYmxlI2pvaW5fbWFwYA0KaHR0cHM6 Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxMzg2I2NoYW5nZS0xMTM5ODkNCg0KKiBBdXRo b3I6IG1hdGhldXNyaWNoIChNYXRoZXVzIFJpY2hhcmQpDQoqIFN0YXR1czogUmVqZWN0ZWQNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIyBQcm9ibGVtDQoNClRo ZSBwYXR0ZXJuIGAubWFwIHsgLi4uIH0uam9pbihzZXApYCBpcyBleHRyZW1lbHkgY29tbW9uIGlu IFJ1YnkgY29kZWJhc2VzOg0KDQpgYGBydWJ5DQp1c2Vycy5tYXAoJjpuYW1lKS5qb2luKCIsICIp DQpgYGANCg0KSXTigJlzIGV4cHJlc3NpdmUgYnV0IHJlcGV0aXRpdmUgKGJvdGggbG9naWNhbGx5 IGFuZCBjb21wdXRhdGlvbmFsbHkpLiBUaGlzIHBhdHRlcm4gYWxsb2NhdGVzIGFuIGludGVybWVk aWF0ZSBhcnJheSBhbmQgZG9lcyB0d28gcGFzc2VzIG92ZXIgdGhlIGNvbGxlY3Rpb24uDQoNClJl YWwtd29ybGQgdXNhZ2UgaXMgd2lkZXNwcmVhZDoNCg0KLSBbT3BlbiBzb3VyY2UgUnVieSBwcm9q ZWN0cyB1c2luZyB0aGlzIHBhdHRlcm5dKGh0dHBzOi8vZ2l0aHViLmNvbS9zZWFyY2g/cT1sYW5n JTNBcnVieSslMkYlNUMubWFwJTVDcyolNUMlN0IlNUIlNUUlN0QlNUQqJTVDJTdEJTVDLmpvaW4l MkYmdHlwZT1jb2RlKQ0KLSBbV2l0aGluIFJhaWxzXShodHRwczovL2dpdGh1Yi5jb20vc2VhcmNo P3E9bGFuZyUzQXJ1YnkrJTJGJTVDLm1hcCU1Q3MqJTVDJTdCJTVCJTVFJTdEJTVEKiU1QyU3RCU1 Qy5qb2luJTJGK29yZyUzQXJhaWxzJnR5cGU9Y29kZSkNCi0gW1dpdGhpbiBSdWJ5IGl0c2VsZl0o aHR0cHM6Ly9naXRodWIuY29tL3NlYXJjaD9xPWxhbmclM0FydWJ5KyUyRiU1Qy5tYXAlNUNzKiU1 QyU3QiU1QiU1RSU3RCU1RColNUMlN0QlNUMuam9pbiUyRitvcmclM0FydWJ5JnR5cGU9Y29kZSkN Cg0KIyMjIFByb3Bvc2FsDQoNCkp1c3QgbGlrZSBgZmlsdGVyX21hcGAgZXhpc3RzIHRvIGNvbGxh cHNlIGEgY29tbW9uIGBtYXAgKyBjb21wYWN0YCwgdGhpcw0KcHJvcG9zYWwgaW50cm9kdWNlcyBg RW51bWVyYWJsZSNqb2luX21hcGAsIHdoaWNoIG1hcHMgYW5kIGpvaW5zIGluIGEgc2luZ2xlDQpw YXNzLg0KDQpgYGBydWJ5DQp1c2Vycy5qb2luX21hcCgiLCAiLCAmOm5hbWUpDQpgYGANCg0KQSBS dWJ5IGltcGxlbWVudGF0aW9uIGNvdWxkIGxvb2sgbGlrZSB0aGlzOg0KDQpgYGBydWJ5DQptb2R1 bGUgRW51bWVyYWJsZQ0KICBkZWYgam9pbl9tYXAoc2VwID0gIiIpDQogICAgcmV0dXJuICIiIHVu bGVzcyBibG9ja19naXZlbj8NCg0KICAgIHN0ciA9ICsiIg0KICAgIGZpcnN0ID0gdHJ1ZQ0KDQog ICAgZWFjaCBkbyB8aXRlbXwNCiAgICAgIHN0ciA8PCBzZXAgdW5sZXNzIGZpcnN0DQogICAgICBz dHIgPDwgeWllbGQoaXRlbSkudG9fcw0KICAgICAgZmlyc3QgPSBmYWxzZQ0KICAgIGVuZA0KDQog ICAgc3RyDQogIGVuZA0KZW5kDQpgYGANCg0KVGhlIG5hbWUgYGpvaW5fbWFwYCBmb2xsb3dzIHRo ZSBwcmVjZWRlbnQgb2YgYGZpbHRlcl9tYXBgLCBlbXBoYXNpemluZyB0aGUgZmluYWwNCm9wZXJh dGlvbiAoYGpvaW5gKSBvdmVyIHRoZSBpbnRlcm1lZGlhdGUgKGBtYXBgKS4NCg0KDQojIyMgUHJp b3IgQXJ0DQoNClNvbWUgb3RoZXIgbGFuZ3VhZ2VzIGhhdmUgc2ltaWxhciBmdW5jdGlvbmFsaXR5 LCBidXQgd2l0aCBkaWZmZXJlbnQgbmFtZXMgb3IgaW1wbGVtZW50YXRpb25zOg0KDQojIyMjIEVs aXhpcg0KDQpFbGl4aXIgaGFzIHRoaXMgdmlhIFt0aGUgYEVudW0ubWFwX2pvaW4vM2AgZnVuY3Rp b25dKGh0dHBzOi8vaGV4ZG9jcy5wbS9lbGl4aXIvMS4xMi9FbnVtLmh0bWwjbWFwX2pvaW4vMyk6 DQoNCmBgYGVsaXhpcg0KRW51bS5tYXBfam9pbihbMSwgMiwgM10sICYoJjEgKiAyKSkNCiIyNDYi DQoNCkVudW0ubWFwX2pvaW4oWzEsIDIsIDNdLCAiID0gIiwgJigmMSAqIDIpKQ0KIjIgPSA0ID0g NiINCmBgYA0KDQojIyMjIENyeXN0YWwNCg0KQ3J5c3RhbCwgb24gdGhlIG90aGVyIGhhbmQsIFt1 c2VzIGBFbnVtZXJhYmxlI2pvaW5gIHdpdGggYSBibG9ja10oaHR0cHM6Ly9jcnlzdGFsLWxhbmcu b3JnL2FwaS8xLjE2LjMvRW51bWVyYWJsZS5odG1sI2pvaW4lMjhzZXBhcmF0b3IlM0QlMjIlMjIl MkMlMjYlM0FULSUzRSUyOS1pbnN0YW5jZS1tZXRob2QpOg0KDQpgYGBjcnlzdGFsDQpbMSwgMiwg M10uam9pbigiLCAiKSB7IHxpfCAtaSB9ICMgPT4gIi0xLCAtMiwgLTMiDQpgYGANCg0KIyMjIyBL b3RsaW4NCg0KS290bGluIGhhcyBhIHNpbWlsYXIgW2Z1bmN0aW9uIGNhbGxlZCBgam9pblRvU3Ry aW5nYF0oaHR0cHM6Ly9rb3RsaW5sYW5nLm9yZy9hcGkvY29yZS9rb3RsaW4tc3RkbGliL2tvdGxp bi5jb2xsZWN0aW9ucy9qb2luLXRvLXN0cmluZy5odG1sKSB0aGF0IGNhbiB0YWtlIGEgdHJhbnNm b3JtYXRpb24gZnVuY3Rpb246DQoNCmBgYGtvdGxpbg0KdmFsIGNoYXJzID0gY2hhckFycmF5T2Yo J2EnLCAnYicsICdjJykNCnByaW50bG4oY2hhcnMuam9pblRvU3RyaW5nKCkgeyBpdC51cHBlcmNh c2VDaGFyKCkudG9TdHJpbmcoKSB9KSAvLyBBLCBCLCBDIA0KYGBgDQoNCg0KDQotLSANCmh0dHBz Oi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVi eS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVh dmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxh bmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLwo=