[ruby-core:122701] [Ruby Feature#21386] Introduce `Enumerable#join_map`
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2025-07-10 02:54:53 UTC
List:
ruby-core #122701
SXNzdWUgIzIxMzg2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQpodHRwczovL2dpdGh1Yi5jb20vcnVieS9kZXYtbWVldGluZy1sb2cvYmxvYi9tYXN0ZXIvMjAx OS9EZXZNZWV0aW5nLTIwMTktMDMtMTEubWQNCg0KPiBbRmVhdHVyZSAjMTUzMjNdIFByb3Bvc2Fs OiBBZGQgRW51bWVyYWJsZSNmaWx0ZXJfbWFwDQo+IC4uLg0KPiBtYW1lOiBpZiB0aGlzIG1ldGhv ZCBpcyBhY2NlcHRlZCwgb3RoZXIgbWV0aG9kcyB3aXRoIG1hcCB3aWxsIGJlIGFsc28gcmVxdWVz dGVkLg0KPiBtYXR6OiBmaWx0ZXJfbWFwIGlzIG5vdCBzaW1wbHkgY29tYmluYXRpb24gb2YgZmls dGVyIGFuZCBtYXAuICBzbyBtYW1l4oCZcyBjb25jZXJuIGlzIG5lZWRsZXNzIGZlYXJzLg0KPiBt YXR6OiBvaywgYWNjZXB0ZWQgYGZpbHRlcl9tYXBgLg0KDQpUaGF0J3Mgd2h5IEkgd2FzIGFnYWlu c3QgaXQg8J+kpg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpG ZWF0dXJlICMyMTM4NjogSW50cm9kdWNlIGBFbnVtZXJhYmxlI2pvaW5fbWFwYA0KaHR0cHM6Ly9i dWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIxMzg2I2NoYW5nZS0xMTM5NzgNCg0KKiBBdXRob3I6 IG1hdGhldXNyaWNoIChNYXRoZXVzIFJpY2hhcmQpDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyMjIFByb2JsZW0NCg0KVGhlIHBhdHRl cm4gYC5tYXAgeyAuLi4gfS5qb2luKHNlcClgIGlzIGV4dHJlbWVseSBjb21tb24gaW4gUnVieSBj b2RlYmFzZXM6DQoNCmBgYHJ1YnkNCnVzZXJzLm1hcCgmOm5hbWUpLmpvaW4oIiwgIikNCmBgYA0K DQpJdOKAmXMgZXhwcmVzc2l2ZSBidXQgcmVwZXRpdGl2ZSAoYm90aCBsb2dpY2FsbHkgYW5kIGNv bXB1dGF0aW9uYWxseSkuIFRoaXMgcGF0dGVybiBhbGxvY2F0ZXMgYW4gaW50ZXJtZWRpYXRlIGFy cmF5IGFuZCBkb2VzIHR3byBwYXNzZXMgb3ZlciB0aGUgY29sbGVjdGlvbi4NCg0KUmVhbC13b3Js ZCB1c2FnZSBpcyB3aWRlc3ByZWFkOg0KDQotIFtPcGVuIHNvdXJjZSBSdWJ5IHByb2plY3RzIHVz aW5nIHRoaXMgcGF0dGVybl0oaHR0cHM6Ly9naXRodWIuY29tL3NlYXJjaD9xPWxhbmclM0FydWJ5 KyUyRiU1Qy5tYXAlNUNzKiU1QyU3QiU1QiU1RSU3RCU1RColNUMlN0QlNUMuam9pbiUyRiZ0eXBl PWNvZGUpDQotIFtXaXRoaW4gUmFpbHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9zZWFyY2g/cT1sYW5n JTNBcnVieSslMkYlNUMubWFwJTVDcyolNUMlN0IlNUIlNUUlN0QlNUQqJTVDJTdEJTVDLmpvaW4l MkYrb3JnJTNBcmFpbHMmdHlwZT1jb2RlKQ0KLSBbV2l0aGluIFJ1YnkgaXRzZWxmXShodHRwczov L2dpdGh1Yi5jb20vc2VhcmNoP3E9bGFuZyUzQXJ1YnkrJTJGJTVDLm1hcCU1Q3MqJTVDJTdCJTVC JTVFJTdEJTVEKiU1QyU3RCU1Qy5qb2luJTJGK29yZyUzQXJ1YnkmdHlwZT1jb2RlKQ0KDQojIyMg UHJvcG9zYWwNCg0KSnVzdCBsaWtlIGBmaWx0ZXJfbWFwYCBleGlzdHMgdG8gY29sbGFwc2UgYSBj b21tb24gYG1hcCArIGNvbXBhY3RgLCB0aGlzDQpwcm9wb3NhbCBpbnRyb2R1Y2VzIGBFbnVtZXJh YmxlI2pvaW5fbWFwYCwgd2hpY2ggbWFwcyBhbmQgam9pbnMgaW4gYSBzaW5nbGUNCnBhc3MuDQoN CmBgYHJ1YnkNCnVzZXJzLmpvaW5fbWFwKCIsICIsICY6bmFtZSkNCmBgYA0KDQpBIFJ1YnkgaW1w bGVtZW50YXRpb24gY291bGQgbG9vayBsaWtlIHRoaXM6DQoNCmBgYHJ1YnkNCm1vZHVsZSBFbnVt ZXJhYmxlDQogIGRlZiBqb2luX21hcChzZXAgPSAiIikNCiAgICByZXR1cm4gIiIgdW5sZXNzIGJs b2NrX2dpdmVuPw0KDQogICAgc3RyID0gKyIiDQogICAgZmlyc3QgPSB0cnVlDQoNCiAgICBlYWNo IGRvIHxpdGVtfA0KICAgICAgc3RyIDw8IHNlcCB1bmxlc3MgZmlyc3QNCiAgICAgIHN0ciA8PCB5 aWVsZChpdGVtKS50b19zDQogICAgICBmaXJzdCA9IGZhbHNlDQogICAgZW5kDQoNCiAgICBzdHIN CiAgZW5kDQplbmQNCmBgYA0KDQpUaGUgbmFtZSBgam9pbl9tYXBgIGZvbGxvd3MgdGhlIHByZWNl ZGVudCBvZiBgZmlsdGVyX21hcGAsIGVtcGhhc2l6aW5nIHRoZSBmaW5hbA0Kb3BlcmF0aW9uIChg am9pbmApIG92ZXIgdGhlIGludGVybWVkaWF0ZSAoYG1hcGApLg0KDQoNCiMjIyBQcmlvciBBcnQN Cg0KU29tZSBvdGhlciBsYW5ndWFnZXMgaGF2ZSBzaW1pbGFyIGZ1bmN0aW9uYWxpdHksIGJ1dCB3 aXRoIGRpZmZlcmVudCBuYW1lcyBvciBpbXBsZW1lbnRhdGlvbnM6DQoNCiMjIyMgRWxpeGlyDQoN CkVsaXhpciBoYXMgdGhpcyB2aWEgW3RoZSBgRW51bS5tYXBfam9pbi8zYCBmdW5jdGlvbl0oaHR0 cHM6Ly9oZXhkb2NzLnBtL2VsaXhpci8xLjEyL0VudW0uaHRtbCNtYXBfam9pbi8zKToNCg0KYGBg ZWxpeGlyDQpFbnVtLm1hcF9qb2luKFsxLCAyLCAzXSwgJigmMSAqIDIpKQ0KIjI0NiINCg0KRW51 bS5tYXBfam9pbihbMSwgMiwgM10sICIgPSAiLCAmKCYxICogMikpDQoiMiA9IDQgPSA2Ig0KYGBg DQoNCiMjIyMgQ3J5c3RhbA0KDQpDcnlzdGFsLCBvbiB0aGUgb3RoZXIgaGFuZCwgW3VzZXMgYEVu dW1lcmFibGUjam9pbmAgd2l0aCBhIGJsb2NrXShodHRwczovL2NyeXN0YWwtbGFuZy5vcmcvYXBp LzEuMTYuMy9FbnVtZXJhYmxlLmh0bWwjam9pbiUyOHNlcGFyYXRvciUzRCUyMiUyMiUyQyUyNiUz QVQtJTNFJTI5LWluc3RhbmNlLW1ldGhvZCk6DQoNCmBgYGNyeXN0YWwNClsxLCAyLCAzXS5qb2lu KCIsICIpIHsgfGl8IC1pIH0gIyA9PiAiLTEsIC0yLCAtMyINCmBgYA0KDQojIyMjIEtvdGxpbg0K DQpLb3RsaW4gaGFzIGEgc2ltaWxhciBbZnVuY3Rpb24gY2FsbGVkIGBqb2luVG9TdHJpbmdgXSho dHRwczovL2tvdGxpbmxhbmcub3JnL2FwaS9jb3JlL2tvdGxpbi1zdGRsaWIva290bGluLmNvbGxl Y3Rpb25zL2pvaW4tdG8tc3RyaW5nLmh0bWwpIHRoYXQgY2FuIHRha2UgYSB0cmFuc2Zvcm1hdGlv biBmdW5jdGlvbjoNCg0KYGBga290bGluDQp2YWwgY2hhcnMgPSBjaGFyQXJyYXlPZignYScsICdi JywgJ2MnKQ0KcHJpbnRsbihjaGFycy5qb2luVG9TdHJpbmcoKSB7IGl0LnVwcGVyY2FzZUNoYXIo KS50b1N0cmluZygpIH0pIC8vIEEsIEIsIEMgDQpgYGANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdz LnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcu b3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5y dWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcv bWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcvCg==