[ruby-core:122655] [Ruby Feature#21386] Introduce `Enumerable#join_map`
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2025-07-05 07:57:07 UTC
List:
ruby-core #122655
SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KVGhpcyBjb2RlIHdvdWxkIHNob3cgdGhlIGRpZmZlcmVuY2UgbW9yZSBjbGVhcmx5Lg0K DQpgYGBydWJ5DQpbWzEsMl0sM10ubWFwIHt8bnxbbl19LmpvaW4oInwiKSAjPT4gIjF8MnwzIg0K W1sxLDJdLDNdLmpvaW5fbWFwKCJ8Iikge3xufFtuXX0gIz0+ICJbWzEsIDJdXXxbM10iDQpgYGAN Cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjEz ODY6IEludHJvZHVjZSBgRW51bWVyYWJsZSNqb2luX21hcGANCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8yMTM4NiNjaGFuZ2UtMTEzOTM1DQoNCiogQXV0aG9yOiBtYXRoZXVzcmlj aCAoTWF0aGV1cyBSaWNoYXJkKQ0KKiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMjIyBQcm9ibGVtDQoNClRoZSBwYXR0ZXJuIGAubWFwIHsg Li4uIH0uam9pbihzZXApYCBpcyBleHRyZW1lbHkgY29tbW9uIGluIFJ1YnkgY29kZWJhc2VzOg0K DQpgYGBydWJ5DQp1c2Vycy5tYXAoJjpuYW1lKS5qb2luKCIsICIpDQpgYGANCg0KSXTigJlzIGV4 cHJlc3NpdmUgYnV0IHJlcGV0aXRpdmUgKGJvdGggbG9naWNhbGx5IGFuZCBjb21wdXRhdGlvbmFs bHkpLiBUaGlzIHBhdHRlcm4gYWxsb2NhdGVzIGFuIGludGVybWVkaWF0ZSBhcnJheSBhbmQgZG9l cyB0d28gcGFzc2VzIG92ZXIgdGhlIGNvbGxlY3Rpb24uDQoNClJlYWwtd29ybGQgdXNhZ2UgaXMg d2lkZXNwcmVhZDoNCg0KLSBbT3BlbiBzb3VyY2UgUnVieSBwcm9qZWN0cyB1c2luZyB0aGlzIHBh dHRlcm5dKGh0dHBzOi8vZ2l0aHViLmNvbS9zZWFyY2g/cT1sYW5nJTNBcnVieSslMkYlNUMubWFw JTVDcyolNUMlN0IlNUIlNUUlN0QlNUQqJTVDJTdEJTVDLmpvaW4lMkYmdHlwZT1jb2RlKQ0KLSBb V2l0aGluIFJhaWxzXShodHRwczovL2dpdGh1Yi5jb20vc2VhcmNoP3E9bGFuZyUzQXJ1YnkrJTJG JTVDLm1hcCU1Q3MqJTVDJTdCJTVCJTVFJTdEJTVEKiU1QyU3RCU1Qy5qb2luJTJGK29yZyUzQXJh aWxzJnR5cGU9Y29kZSkNCi0gW1dpdGhpbiBSdWJ5IGl0c2VsZl0oaHR0cHM6Ly9naXRodWIuY29t L3NlYXJjaD9xPWxhbmclM0FydWJ5KyUyRiU1Qy5tYXAlNUNzKiU1QyU3QiU1QiU1RSU3RCU1RCol NUMlN0QlNUMuam9pbiUyRitvcmclM0FydWJ5JnR5cGU9Y29kZSkNCg0KIyMjIFByb3Bvc2FsDQoN Ckp1c3QgbGlrZSBgZmlsdGVyX21hcGAgZXhpc3RzIHRvIGNvbGxhcHNlIGEgY29tbW9uIGBtYXAg KyBjb21wYWN0YCwgdGhpcw0KcHJvcG9zYWwgaW50cm9kdWNlcyBgRW51bWVyYWJsZSNqb2luX21h cGAsIHdoaWNoIG1hcHMgYW5kIGpvaW5zIGluIGEgc2luZ2xlDQpwYXNzLg0KDQpgYGBydWJ5DQp1 c2Vycy5qb2luX21hcCgiLCAiLCAmOm5hbWUpDQpgYGANCg0KQSBSdWJ5IGltcGxlbWVudGF0aW9u IGNvdWxkIGxvb2sgbGlrZSB0aGlzOg0KDQpgYGBydWJ5DQptb2R1bGUgRW51bWVyYWJsZQ0KICBk ZWYgam9pbl9tYXAoc2VwID0gIiIpDQogICAgcmV0dXJuICIiIHVubGVzcyBibG9ja19naXZlbj8N Cg0KICAgIHN0ciA9ICsiIg0KICAgIGZpcnN0ID0gdHJ1ZQ0KDQogICAgZWFjaCBkbyB8aXRlbXwN CiAgICAgIHN0ciA8PCBzZXAgdW5sZXNzIGZpcnN0DQogICAgICBzdHIgPDwgeWllbGQoaXRlbSku dG9fcw0KICAgICAgZmlyc3QgPSBmYWxzZQ0KICAgIGVuZA0KDQogICAgc3RyDQogIGVuZA0KZW5k DQpgYGANCg0KVGhlIG5hbWUgYGpvaW5fbWFwYCBmb2xsb3dzIHRoZSBwcmVjZWRlbnQgb2YgYGZp bHRlcl9tYXBgLCBlbXBoYXNpemluZyB0aGUgZmluYWwNCm9wZXJhdGlvbiAoYGpvaW5gKSBvdmVy IHRoZSBpbnRlcm1lZGlhdGUgKGBtYXBgKS4NCg0KDQojIyMgUHJpb3IgQXJ0DQoNClNvbWUgb3Ro ZXIgbGFuZ3VhZ2VzIGhhdmUgc2ltaWxhciBmdW5jdGlvbmFsaXR5LCBidXQgd2l0aCBkaWZmZXJl bnQgbmFtZXMgb3IgaW1wbGVtZW50YXRpb25zOg0KDQojIyMjIEVsaXhpcg0KDQpFbGl4aXIgaGFz IHRoaXMgdmlhIFt0aGUgYEVudW0ubWFwX2pvaW4vM2AgZnVuY3Rpb25dKGh0dHBzOi8vaGV4ZG9j cy5wbS9lbGl4aXIvMS4xMi9FbnVtLmh0bWwjbWFwX2pvaW4vMyk6DQoNCmBgYGVsaXhpcg0KRW51 bS5tYXBfam9pbihbMSwgMiwgM10sICYoJjEgKiAyKSkNCiIyNDYiDQoNCkVudW0ubWFwX2pvaW4o WzEsIDIsIDNdLCAiID0gIiwgJigmMSAqIDIpKQ0KIjIgPSA0ID0gNiINCmBgYA0KDQojIyMjIENy eXN0YWwNCg0KQ3J5c3RhbCwgb24gdGhlIG90aGVyIGhhbmQsIFt1c2VzIGBFbnVtZXJhYmxlI2pv aW5gIHdpdGggYSBibG9ja10oaHR0cHM6Ly9jcnlzdGFsLWxhbmcub3JnL2FwaS8xLjE2LjMvRW51 bWVyYWJsZS5odG1sI2pvaW4lMjhzZXBhcmF0b3IlM0QlMjIlMjIlMkMlMjYlM0FULSUzRSUyOS1p bnN0YW5jZS1tZXRob2QpOg0KDQpgYGBjcnlzdGFsDQpbMSwgMiwgM10uam9pbigiLCAiKSB7IHxp fCAtaSB9ICMgPT4gIi0xLCAtMiwgLTMiDQpgYGANCg0KIyMjIyBLb3RsaW4NCg0KS290bGluIGhh cyBhIHNpbWlsYXIgW2Z1bmN0aW9uIGNhbGxlZCBgam9pblRvU3RyaW5nYF0oaHR0cHM6Ly9rb3Rs aW5sYW5nLm9yZy9hcGkvY29yZS9rb3RsaW4tc3RkbGliL2tvdGxpbi5jb2xsZWN0aW9ucy9qb2lu LXRvLXN0cmluZy5odG1sKSB0aGF0IGNhbiB0YWtlIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb246 DQoNCmBgYGtvdGxpbg0KdmFsIGNoYXJzID0gY2hhckFycmF5T2YoJ2EnLCAnYicsICdjJykNCnBy aW50bG4oY2hhcnMuam9pblRvU3RyaW5nKCkgeyBpdC51cHBlcmNhc2VDaGFyKCkudG9TdHJpbmco KSB9KSAvLyBBLCBCLCBDIA0KYGBgDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcu b3JnLw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVi eS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5z dWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9y ZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xp c3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLwo=