[ruby-core:122654] [Ruby Feature#21386] Introduce `Enumerable#join_map`
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-07-05 07:50:01 UTC
List:
ruby-core #122654
SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KcHJhdGVla2tpc2hAZ21haWwuY29tIChQcmF0ZWVrIENob3VkaGFyeSkgd3JvdGUgaW4g I25vdGUtMjoNCj4gUFI6IGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMzc5Mg0K DQpUaGlzIGRpZmZlcmVuY2UgaXMgaW50ZW50aW9uYWw/DQoNCmBgYHJ1YnkNClsxLDIsM10ubWFw IHt8bnxbbl19LmpvaW4oIiwiKSAjPT4gIjEsMiwzIg0KWzEsMiwzXS5qb2luX21hcCgiLCIpIHt8 bnxbbl19ICM9PiAiWzFdLFsyXSxbM10iDQpgYGANCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjEzODY6IEludHJvZHVjZSBgRW51bWVyYWJsZSNq b2luX21hcGANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMTM4NiNjaGFuZ2Ut MTEzOTM0DQoNCiogQXV0aG9yOiBtYXRoZXVzcmljaCAoTWF0aGV1cyBSaWNoYXJkKQ0KKiBTdGF0 dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIyBQ cm9ibGVtDQoNClRoZSBwYXR0ZXJuIGAubWFwIHsgLi4uIH0uam9pbihzZXApYCBpcyBleHRyZW1l bHkgY29tbW9uIGluIFJ1YnkgY29kZWJhc2VzOg0KDQpgYGBydWJ5DQp1c2Vycy5tYXAoJjpuYW1l KS5qb2luKCIsICIpDQpgYGANCg0KSXTigJlzIGV4cHJlc3NpdmUgYnV0IHJlcGV0aXRpdmUgKGJv dGggbG9naWNhbGx5IGFuZCBjb21wdXRhdGlvbmFsbHkpLiBUaGlzIHBhdHRlcm4gYWxsb2NhdGVz IGFuIGludGVybWVkaWF0ZSBhcnJheSBhbmQgZG9lcyB0d28gcGFzc2VzIG92ZXIgdGhlIGNvbGxl Y3Rpb24uDQoNClJlYWwtd29ybGQgdXNhZ2UgaXMgd2lkZXNwcmVhZDoNCg0KLSBbT3BlbiBzb3Vy Y2UgUnVieSBwcm9qZWN0cyB1c2luZyB0aGlzIHBhdHRlcm5dKGh0dHBzOi8vZ2l0aHViLmNvbS9z ZWFyY2g/cT1sYW5nJTNBcnVieSslMkYlNUMubWFwJTVDcyolNUMlN0IlNUIlNUUlN0QlNUQqJTVD JTdEJTVDLmpvaW4lMkYmdHlwZT1jb2RlKQ0KLSBbV2l0aGluIFJhaWxzXShodHRwczovL2dpdGh1 Yi5jb20vc2VhcmNoP3E9bGFuZyUzQXJ1YnkrJTJGJTVDLm1hcCU1Q3MqJTVDJTdCJTVCJTVFJTdE JTVEKiU1QyU3RCU1Qy5qb2luJTJGK29yZyUzQXJhaWxzJnR5cGU9Y29kZSkNCi0gW1dpdGhpbiBS dWJ5IGl0c2VsZl0oaHR0cHM6Ly9naXRodWIuY29tL3NlYXJjaD9xPWxhbmclM0FydWJ5KyUyRiU1 Qy5tYXAlNUNzKiU1QyU3QiU1QiU1RSU3RCU1RColNUMlN0QlNUMuam9pbiUyRitvcmclM0FydWJ5 JnR5cGU9Y29kZSkNCg0KIyMjIFByb3Bvc2FsDQoNCkp1c3QgbGlrZSBgZmlsdGVyX21hcGAgZXhp c3RzIHRvIGNvbGxhcHNlIGEgY29tbW9uIGBtYXAgKyBjb21wYWN0YCwgdGhpcw0KcHJvcG9zYWwg aW50cm9kdWNlcyBgRW51bWVyYWJsZSNqb2luX21hcGAsIHdoaWNoIG1hcHMgYW5kIGpvaW5zIGlu IGEgc2luZ2xlDQpwYXNzLg0KDQpgYGBydWJ5DQp1c2Vycy5qb2luX21hcCgiLCAiLCAmOm5hbWUp DQpgYGANCg0KQSBSdWJ5IGltcGxlbWVudGF0aW9uIGNvdWxkIGxvb2sgbGlrZSB0aGlzOg0KDQpg YGBydWJ5DQptb2R1bGUgRW51bWVyYWJsZQ0KICBkZWYgam9pbl9tYXAoc2VwID0gIiIpDQogICAg cmV0dXJuICIiIHVubGVzcyBibG9ja19naXZlbj8NCg0KICAgIHN0ciA9ICsiIg0KICAgIGZpcnN0 ID0gdHJ1ZQ0KDQogICAgZWFjaCBkbyB8aXRlbXwNCiAgICAgIHN0ciA8PCBzZXAgdW5sZXNzIGZp cnN0DQogICAgICBzdHIgPDwgeWllbGQoaXRlbSkudG9fcw0KICAgICAgZmlyc3QgPSBmYWxzZQ0K ICAgIGVuZA0KDQogICAgc3RyDQogIGVuZA0KZW5kDQpgYGANCg0KVGhlIG5hbWUgYGpvaW5fbWFw YCBmb2xsb3dzIHRoZSBwcmVjZWRlbnQgb2YgYGZpbHRlcl9tYXBgLCBlbXBoYXNpemluZyB0aGUg ZmluYWwNCm9wZXJhdGlvbiAoYGpvaW5gKSBvdmVyIHRoZSBpbnRlcm1lZGlhdGUgKGBtYXBgKS4N Cg0KDQojIyMgUHJpb3IgQXJ0DQoNClNvbWUgb3RoZXIgbGFuZ3VhZ2VzIGhhdmUgc2ltaWxhciBm dW5jdGlvbmFsaXR5LCBidXQgd2l0aCBkaWZmZXJlbnQgbmFtZXMgb3IgaW1wbGVtZW50YXRpb25z Og0KDQojIyMjIEVsaXhpcg0KDQpFbGl4aXIgaGFzIHRoaXMgdmlhIFt0aGUgYEVudW0ubWFwX2pv aW4vM2AgZnVuY3Rpb25dKGh0dHBzOi8vaGV4ZG9jcy5wbS9lbGl4aXIvMS4xMi9FbnVtLmh0bWwj bWFwX2pvaW4vMyk6DQoNCmBgYGVsaXhpcg0KRW51bS5tYXBfam9pbihbMSwgMiwgM10sICYoJjEg KiAyKSkNCiIyNDYiDQoNCkVudW0ubWFwX2pvaW4oWzEsIDIsIDNdLCAiID0gIiwgJigmMSAqIDIp KQ0KIjIgPSA0ID0gNiINCmBgYA0KDQojIyMjIENyeXN0YWwNCg0KQ3J5c3RhbCwgb24gdGhlIG90 aGVyIGhhbmQsIFt1c2VzIGBFbnVtZXJhYmxlI2pvaW5gIHdpdGggYSBibG9ja10oaHR0cHM6Ly9j cnlzdGFsLWxhbmcub3JnL2FwaS8xLjE2LjMvRW51bWVyYWJsZS5odG1sI2pvaW4lMjhzZXBhcmF0 b3IlM0QlMjIlMjIlMkMlMjYlM0FULSUzRSUyOS1pbnN0YW5jZS1tZXRob2QpOg0KDQpgYGBjcnlz dGFsDQpbMSwgMiwgM10uam9pbigiLCAiKSB7IHxpfCAtaSB9ICMgPT4gIi0xLCAtMiwgLTMiDQpg YGANCg0KIyMjIyBLb3RsaW4NCg0KS290bGluIGhhcyBhIHNpbWlsYXIgW2Z1bmN0aW9uIGNhbGxl ZCBgam9pblRvU3RyaW5nYF0oaHR0cHM6Ly9rb3RsaW5sYW5nLm9yZy9hcGkvY29yZS9rb3RsaW4t c3RkbGliL2tvdGxpbi5jb2xsZWN0aW9ucy9qb2luLXRvLXN0cmluZy5odG1sKSB0aGF0IGNhbiB0 YWtlIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb246DQoNCmBgYGtvdGxpbg0KdmFsIGNoYXJzID0g Y2hhckFycmF5T2YoJ2EnLCAnYicsICdjJykNCnByaW50bG4oY2hhcnMuam9pblRvU3RyaW5nKCkg eyBpdC51cHBlcmNhc2VDaGFyKCkudG9TdHJpbmcoKSB9KSAvLyBBLCBCLCBDIA0KYGBgDQoNCg0K DQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5 LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBy dWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6 Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcu b3JnLwo=