[ruby-core:119945] [Ruby master Feature#20899] Reconsider adding `Array#find_map`
From:
"nobu (Nobuyoshi Nakada) via ruby-core" <ruby-core@...>
Date:
2024-11-16 04:50:36 UTC
List:
ruby-core #119945
SXNzdWUgIzIwODk5IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9idSAoTm9idXlvc2hpIE5ha2FkYSku DQoNCg0KSSB1c2Ug4oCcYGJyZWFrYCBmcm9tIGBmaW5kYCBibG9ja+KAnSBxdWl0ZSBvZnRlbiwg YW5kIGFkbWl0IHN1Y2ggbWV0aG9kIHdpbGwgYmUgdXNlZnVsLg0KQXMgZm9yIHRoaXMgbmFtZSwg SeKAmW0gbm90IHN1cmUgaWYgaXQgaXMgYXBwcm9wcmlhdGUsIHRob3VnaC4NCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA4OTk6IFJlY29uc2lk ZXIgYWRkaW5nIGBBcnJheSNmaW5kX21hcGANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy8yMDg5OSNjaGFuZ2UtMTEwNjY4DQoNCiogQXV0aG9yOiB0b3kgKEl2YW4gS3VjaGluKQ0K KiBTdGF0dXM6IE9wZW4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Ckkgd291bGQgbGlrZSB0byByZXRyeSBwcm9wb3NpbmcgbWV0aG9kIGBBcnJheSNmaW5kX21hcGAg dGhhdCB3YXMgcmVqZWN0ZWQgaW4gWzg0MjFdKGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lz c3Vlcy84NDIxKSB3aGljaCBoYXBwZW5lZCBiZWZvcmUgaW50cm9kdWN0aW9uIG9mIGBmaWx0ZXJf bWFwYCBpbiBbMTUzMjNdKGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xNTMyMyku DQpJdCB3b3VsZCBtYWtlIGNvZGUgbmljZXIgd2hlbmV2ZXIgdGhlcmUgaXMgYSBuZWVkIHRvIGdl dCB0aGUgZmlyc3QgdHJ1dGh5IHJlc3VsdCBvZiBhcHBseWluZyBzb21lIGNvZGUuDQoNCkFkYXB0 aW5nIGV4YW1wbGVzIGZyb20gYGZpbHRlcl9tYXBgIGRvY3VtZW50YXRpb24sIGJ1dCBpZiBJIG5l ZWQgb25seSB0aGUgZmlyc3QgdmFsdWU6DQpgYGByYg0KKDEuLjkpLmZpbmRfbWFwIHt8aXwgaSAq IDIgaWYgaS5ldmVuPyB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyA9PiA0DQp7Zm9v OiAwLCBiYXI6IDEsIGJhejogMn0uZmluZF9tYXAge3xrZXksIHZhbHVlfCBrZXkgaWYgdmFsdWUu ZXZlbj8gfSAjID0+IDpmb28NCmBgYA0KDQpPciBhbiBleGFtcGxlIG9mIGdldHRpbmcgbWF0Y2gg Z3JvdXAgZm9yIGZpcnN0IHN1Y2Nlc3NmdWwgbWF0Y2g6DQoNCmBgYHJiDQpsaXN0ID0gWydzb21l IDEyMycsICdsaXN0IDIzNCcsICdvZiAzNDUnLCAnc3RyaW5ncyA0NTYnXQ0KDQpsaXN0LmZpbmRf bWFweyB8c3wgc1svXEFvZiAoXGQrKVx6LywgMV0gfSAjID0+ICIzNDUiDQpgYGANCg0KQ3VycmVu dGx5IEkgaW1hZ2luZSBlaXRoZXIgbW9yZSBjb2RlIGFuZC9vciBpbmVmZmljaWVuY3kgKGV4dHJh IGNhbGxzIGFuZC9vciBvYmplY3RzKToNCg0KYGBgcmINCiMgY29kZSBjYWxsZWQgdHdpY2UNCmxp c3QuZmluZHsgfHN8IHNbL1xBb2YgKFxkKylcei8sIDFdIH0mLnRoZW57IHxzfCBzWy9cQW9mIChc ZCspXHovLCAxXSB9ICMgPT4gIjM0NSINCg0KIyBtb3JlIGxvZ2ljDQpyZXN1bHQgPSBuaWwNCmxp c3QuZWFjaCBkbyB8c3wNCiAgYnJlYWsgaWYgKHJlc3VsdCA9IHNbL1xBb2YgKFxkKylcei8sIDFd KQ0KZW5kDQpyZXN1bHQgIyA9PiAiMzQ1Ig0KDQojIG9yDQpyZXN1bHQgPSBuaWwNCmxpc3QuZmlu ZCBkbyB8c3wNCiAgcmVzdWx0ID0gc1svXEFvZiAoXGQrKVx6LywgMV0NCmVuZA0KcmVzdWx0ICMg PT4gIjM0NSINCg0KIyBleHRyYSBjYWxscyBmb3IgaXRlbXMgd2hpY2ggY29tZSBhZnRlciBpdGVt IHRoYXQgd2Ugd2VyZSBsb29raW5nIGZvcg0KbGlzdC5tYXB7IHxzfCBzWy9cQW9mIChcZCspXHov LCAxXSB9LmZpbmR7IF8xIH0gIyA9PiAiMzQ1Ig0KDQojIHVzaW5nIGxhenkNCmxpc3QubGF6eS5t YXB7IHxzfCBzWy9cQW9mIChcZCspXHovLCAxXSB9LmZpbmR7IF8xIH0gIyA9PiAiMzQ1Ig0KDQoj IG9yIGFzIHN1Z2dlc3RlZCBieSBAYWxleGJhcnJldCBpbiBodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvODQyMT90YWI9aGlzdG9yeSNub3RlLTcNCmxpc3QubGF6eS5maWx0ZXJfbWFw eyB8c3wgc1svXEFvZiAoXGQrKVx6LywgMV0gfS5maXJzdCAjID0+ICIzNDUiDQoNCiMgdXNpbmcg dHJpY2tzLCBhcyBzdWdnZXN0ZWQgYnkgQHp2ZXJvayBpbiBodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy9pc3N1ZXMvODQyMT90YWI9aGlzdG9yeSNub3RlLTQNCmxpc3QuZmluZHsgfHN8IHJlc3Vs dCA9IHNbL1xBb2YgKFxkKylcei8sIDFdIGFuZCBicmVhayByZXN1bHQgfSAjID0+ICIzNDUiDQpg YGANCg0KSW1wbGVtZW50YXRpb24gaW4gcnVieSBjYW4gYmU6DQpgYGByYg0KRW51bWVyYWJsZS5j bGFzc19ldmFsIGRvDQogIGRlZiBmaW5kX21hcCgmYmxvY2spDQogICAgZWFjaCBkbyB8ZWxlbWVu dHwNCiAgICAgIGJsb2NrX3Jlc3VsdCA9IGJsb2NrLmNhbGwoZWxlbWVudCkNCiAgICAgIHJldHVy biBibG9ja19yZXN1bHQgaWYgYmxvY2tfcmVzdWx0DQogICAgZW5kDQogICAgDQogICAgbmlsDQog IGVuZA0KZW5kDQpgYGANCg0KQW4gZXhhbXBsZSBmcm9tIGFub3RoZXIgbGFuZ3VhZ2UgLSBzY2Fs YSBtZXRob2QgW2Bjb2xsZWN0YF0oaHR0cHM6Ly93d3cuc2NhbGEtbGFuZy5vcmcvYXBpLzMuNS4y L3NjYWxhL2NvbGxlY3Rpb24vQXJyYXlPcHMuaHRtbCNjb2xsZWN0LTY4ZSkgd29ya3MgYWxpa2Ug YGZpbHRlcl9tYXBgIGFuZCBbYGNvbGxlY3RGaXJzdGBdKGh0dHBzOi8vd3d3LnNjYWxhLWxhbmcu b3JnL2FwaS8zLjUuMi9zY2FsYS9jb2xsZWN0aW9uL0FycmF5T3BzLmh0bWwjY29sbGVjdEZpcnN0 LTI1ZCkgd291bGQgYmUgbGlrZSBgZmluZF9tYXBgLg0KDQoNCg0KDQotLSANCmh0dHBzOi8vYnVn cy5ydWJ5LWxhbmcub3JnLw0KIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KIHJ1YnktY29yZSBtYWlsaW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFu Zy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1s LnJ1YnktbGFuZy5vcmcKIHJ1YnktY29yZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9y Zy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNvcmUubWwucnVieS1sYW5nLm9yZy8=