[ruby-core:122794] [Ruby Feature#21386] Introduce `Enumerable#join_map`
From:
"zverok (Victor Shepelev) via ruby-core" <ruby-core@...>
Date:
2025-07-16 05:50:08 UTC
List:
ruby-core #122794
SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgenZlcm9rIChWaWN0b3IgU2hlcGVsZXYp Lg0KDQoNCkp1c3QgYSB0aG91Z2h0OiBzaG91bGRuJ3Qgd2UgYWRkIGAjam9pbmAgdG8gYEVudW1l cmF0b3I6OkxhenlgPyBJdCB3b3VsZG4ndCBzb2x2ZSAibG9naWNhbCByZXBldGl0aXZlbmVzcyIg b2YgdGhlIHBhdHRlcm4sIGJ1dCBtaWdodCBiZSBhIGdvb2QgX2FuZF8gaWRpb21hdGljIHdheSB0 byBvcHRpbWl6ZSB0aGUgcGF0dGVybiB3aGVuIG5lY2Vzc2FyeS4NCg0KKExhenkgZW51bWVyYXRv cnMgYXJlIHVuZGVydXNlZCBpbiB0aGUgY29tbXVuaXR5LCBhcyBJIHVuZGVyc3RhbmQuIEFuZCBJ IHBlcnNvbmFsbHkgd291bGQgbGlrZSB0byBzZWUgdGhlbSBtb3JlIHBvcHVsYXIuKQ0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMTM4NjogSW50 cm9kdWNlIGBFbnVtZXJhYmxlI2pvaW5fbWFwYA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv aXNzdWVzLzIxMzg2I2NoYW5nZS0xMTQwNzUNCg0KKiBBdXRob3I6IG1hdGhldXNyaWNoIChNYXRo ZXVzIFJpY2hhcmQpDQoqIFN0YXR1czogUmVqZWN0ZWQNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCiMjIyBQcm9ibGVtDQoNClRoZSBwYXR0ZXJuIGAubWFwIHsgLi4u IH0uam9pbihzZXApYCBpcyBleHRyZW1lbHkgY29tbW9uIGluIFJ1YnkgY29kZWJhc2VzOg0KDQpg YGBydWJ5DQp1c2Vycy5tYXAoJjpuYW1lKS5qb2luKCIsICIpDQpgYGANCg0KSXTigJlzIGV4cHJl c3NpdmUgYnV0IHJlcGV0aXRpdmUgKGJvdGggbG9naWNhbGx5IGFuZCBjb21wdXRhdGlvbmFsbHkp LiBUaGlzIHBhdHRlcm4gYWxsb2NhdGVzIGFuIGludGVybWVkaWF0ZSBhcnJheSBhbmQgZG9lcyB0 d28gcGFzc2VzIG92ZXIgdGhlIGNvbGxlY3Rpb24uDQoNClJlYWwtd29ybGQgdXNhZ2UgaXMgd2lk ZXNwcmVhZDoNCg0KLSBbT3BlbiBzb3VyY2UgUnVieSBwcm9qZWN0cyB1c2luZyB0aGlzIHBhdHRl cm5dKGh0dHBzOi8vZ2l0aHViLmNvbS9zZWFyY2g/cT1sYW5nJTNBcnVieSslMkYlNUMubWFwJTVD cyolNUMlN0IlNUIlNUUlN0QlNUQqJTVDJTdEJTVDLmpvaW4lMkYmdHlwZT1jb2RlKQ0KLSBbV2l0 aGluIFJhaWxzXShodHRwczovL2dpdGh1Yi5jb20vc2VhcmNoP3E9bGFuZyUzQXJ1YnkrJTJGJTVD Lm1hcCU1Q3MqJTVDJTdCJTVCJTVFJTdEJTVEKiU1QyU3RCU1Qy5qb2luJTJGK29yZyUzQXJhaWxz JnR5cGU9Y29kZSkNCi0gW1dpdGhpbiBSdWJ5IGl0c2VsZl0oaHR0cHM6Ly9naXRodWIuY29tL3Nl YXJjaD9xPWxhbmclM0FydWJ5KyUyRiU1Qy5tYXAlNUNzKiU1QyU3QiU1QiU1RSU3RCU1RColNUMl N0QlNUMuam9pbiUyRitvcmclM0FydWJ5JnR5cGU9Y29kZSkNCg0KIyMjIFByb3Bvc2FsDQoNCkp1 c3QgbGlrZSBgZmlsdGVyX21hcGAgZXhpc3RzIHRvIGNvbGxhcHNlIGEgY29tbW9uIGBtYXAgKyBj b21wYWN0YCwgdGhpcw0KcHJvcG9zYWwgaW50cm9kdWNlcyBgRW51bWVyYWJsZSNqb2luX21hcGAs IHdoaWNoIG1hcHMgYW5kIGpvaW5zIGluIGEgc2luZ2xlDQpwYXNzLg0KDQpgYGBydWJ5DQp1c2Vy cy5qb2luX21hcCgiLCAiLCAmOm5hbWUpDQpgYGANCg0KQSBSdWJ5IGltcGxlbWVudGF0aW9uIGNv dWxkIGxvb2sgbGlrZSB0aGlzOg0KDQpgYGBydWJ5DQptb2R1bGUgRW51bWVyYWJsZQ0KICBkZWYg am9pbl9tYXAoc2VwID0gIiIpDQogICAgcmV0dXJuICIiIHVubGVzcyBibG9ja19naXZlbj8NCg0K ICAgIHN0ciA9ICsiIg0KICAgIGZpcnN0ID0gdHJ1ZQ0KDQogICAgZWFjaCBkbyB8aXRlbXwNCiAg ICAgIHN0ciA8PCBzZXAgdW5sZXNzIGZpcnN0DQogICAgICBzdHIgPDwgeWllbGQoaXRlbSkudG9f cw0KICAgICAgZmlyc3QgPSBmYWxzZQ0KICAgIGVuZA0KDQogICAgc3RyDQogIGVuZA0KZW5kDQpg YGANCg0KVGhlIG5hbWUgYGpvaW5fbWFwYCBmb2xsb3dzIHRoZSBwcmVjZWRlbnQgb2YgYGZpbHRl cl9tYXBgLCBlbXBoYXNpemluZyB0aGUgZmluYWwNCm9wZXJhdGlvbiAoYGpvaW5gKSBvdmVyIHRo ZSBpbnRlcm1lZGlhdGUgKGBtYXBgKS4NCg0KDQojIyMgUHJpb3IgQXJ0DQoNClNvbWUgb3RoZXIg bGFuZ3VhZ2VzIGhhdmUgc2ltaWxhciBmdW5jdGlvbmFsaXR5LCBidXQgd2l0aCBkaWZmZXJlbnQg bmFtZXMgb3IgaW1wbGVtZW50YXRpb25zOg0KDQojIyMjIEVsaXhpcg0KDQpFbGl4aXIgaGFzIHRo aXMgdmlhIFt0aGUgYEVudW0ubWFwX2pvaW4vM2AgZnVuY3Rpb25dKGh0dHBzOi8vaGV4ZG9jcy5w bS9lbGl4aXIvMS4xMi9FbnVtLmh0bWwjbWFwX2pvaW4vMyk6DQoNCmBgYGVsaXhpcg0KRW51bS5t YXBfam9pbihbMSwgMiwgM10sICYoJjEgKiAyKSkNCiIyNDYiDQoNCkVudW0ubWFwX2pvaW4oWzEs IDIsIDNdLCAiID0gIiwgJigmMSAqIDIpKQ0KIjIgPSA0ID0gNiINCmBgYA0KDQojIyMjIENyeXN0 YWwNCg0KQ3J5c3RhbCwgb24gdGhlIG90aGVyIGhhbmQsIFt1c2VzIGBFbnVtZXJhYmxlI2pvaW5g IHdpdGggYSBibG9ja10oaHR0cHM6Ly9jcnlzdGFsLWxhbmcub3JnL2FwaS8xLjE2LjMvRW51bWVy YWJsZS5odG1sI2pvaW4lMjhzZXBhcmF0b3IlM0QlMjIlMjIlMkMlMjYlM0FULSUzRSUyOS1pbnN0 YW5jZS1tZXRob2QpOg0KDQpgYGBjcnlzdGFsDQpbMSwgMiwgM10uam9pbigiLCAiKSB7IHxpfCAt aSB9ICMgPT4gIi0xLCAtMiwgLTMiDQpgYGANCg0KIyMjIyBLb3RsaW4NCg0KS290bGluIGhhcyBh IHNpbWlsYXIgW2Z1bmN0aW9uIGNhbGxlZCBgam9pblRvU3RyaW5nYF0oaHR0cHM6Ly9rb3RsaW5s YW5nLm9yZy9hcGkvY29yZS9rb3RsaW4tc3RkbGliL2tvdGxpbi5jb2xsZWN0aW9ucy9qb2luLXRv LXN0cmluZy5odG1sKSB0aGF0IGNhbiB0YWtlIGEgdHJhbnNmb3JtYXRpb24gZnVuY3Rpb246DQoN CmBgYGtvdGxpbg0KdmFsIGNoYXJzID0gY2hhckFycmF5T2YoJ2EnLCAnYicsICdjJykNCnByaW50 bG4oY2hhcnMuam9pblRvU3RyaW5nKCkgeyBpdC51cHBlcmNhc2VDaGFyKCkudG9TdHJpbmcoKSB9 KSAvLyBBLCBCLCBDIA0KYGBgDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3Jn Lw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1j b3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJz Y3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwog cnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3Rz L3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLwo=