[ruby-core:85578] [Ruby trunk Feature#14476] Adding same_all? for checking whether all items in an Array are same

From: duerst@...
Date: 2018-02-15 04:53:18 UTC
List: ruby-core #85578
SXNzdWUgIzE0NDc2IGhhcyBiZWVuIHVwZGF0ZWQgYnkgZHVlcnN0IChNYXJ0aW4gRMO8cnN0KS4K
CgpGb3VyIHBvaW50cy4KCkZpcnN0LCByZS4gdW5pcT86CgptcmtuIChLZW50YSBNdXJhdGEpIHdy
b3RlOgoKPiBXZSBkb24ndCBoYXZlIEFycmF5I3VuaXE/Lgo+IERvIHlvdSBzdWdnZXN0IGFkZGlu
ZyBzdWNoIGEgbmV3IG1ldGhvZD8KCkkgcmVtZW1iZXIgaGF2aW5nIHN1Z2dlc3RlZCBhIG1ldGhv
ZCBuYW1lZCBgdW5pcT9gLiBVbmZvcnR1bmF0ZWx5LCBJIGRpZG4ndCBmaW5kIHRoZSBpc3N1ZSAo
eWV0KS4gQnV0IHRoZSBtZWFuaW5nIHdhcyBkaWZmZXJlbnQuIFRoZSBtZXRob2QgY2hlY2tlZCB3
aGV0aGVyIGFsbCBlbGVtZW50cyB3ZXJlIHVuaXF1ZSwgbm90IHdoZXRoZXIgYWxsIGVsZW1lbnRz
IHdlcmUgdGhlIHNhbWUuIEluIG90aGVyIHdvcmRzLCBpdCB3YXM6CgpgYGBydWJ5CmRlZiB1bmlx
PwogIHVuaXEubGVuZ3RoID09IGxlbmd0aAplbmQKYGBgCgpJbiBhbiBlZmZpY2llbnQgaW1wbGVt
ZW50YXRpb24sIGl0IHdvdWxkIHJldHVybiBgZmFsc2VgIGFzIHNvb24gYXMgaXQgZGV0ZWN0ZWQg
dHdvIGVsZW1lbnRzIHRoYXQgd2VyZSB0aGUgc2FtZSwgYW5kIGB0cnVlYCBvdGhlcndpc2UuCgpT
ZWNvbmQsIGFib3V0IG5hbWluZzoKYHNhbWVfYWxsP2AgZG9lc24ndCBzb3VuZCBnb29kIHRvIG1l
LiBUaGUgdHdvIHdvcmRzICdzYW1lJyBhbmQgJ2FsbCcgZG9uJ3QgYXBwZWFyIGluIHRoaXMgb3Jk
ZXIgaW4gRW5nbGlzaC4gV2hhdCBhYm91dCBgYWxsX3NhbWU/YCwgb3IgYmV0dGVyIGV2ZW4sIGBh
bGxfZXF1YWw/YD8KClRoaXJkLCBhYm91dCBuZWVkOgpJdCdzIGNsZWFyIHRoYXQgd2hlbiB5b3Ug
aW1wbGVtZW50IHNvbWV0aGluZyBpbiBDLCBpdCBzaG91bGQgZ2V0IGZhc3Rlci4gSWYgdGhhdCB3
ZXJlIHRoZSBvbmx5IGNyaXRlcmlvbiBmb3IgYWNjZXB0aW5nIG5ldyBtZXRob2RzIGludG8gUnVi
eSwgd2UnZCBoYXZlIG1hbnkgbW9yZSBtZXRob2RzLiBUaGUgd2F5IHlvdSBkZXNjcmliZSBpdCwg
bXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IHlvdSBvbmx5IGp1c3QgdG9kYXkgaGFkIGEgbmVlZCBm
b3Igc3VjaCBmdW5jdGlvbmFsaXR5LCBub3QgYmVmb3JlLiBJIHRoaW5rIHRoZXJlIHNob3VsZCBi
ZSBzb21lIGluZGljYXRpb24gdGhhdCB0aGlzIGlzIG5lZWRlZCByZWd1bGFybHkgaW4gb3JkZXIg
dG8gYWNjZXB0IGl0LgoKRm91cnRoLCBhYm91dCBhbHRlcm5hdGl2ZSB3YXlzIHRvIHdyaXRlIGl0
LiBXaGF0IGFib3V0CgpgYGBydWJ5CmFyeS5lYWNoX2NvbnMoMikuYWxsPyB7IHxhLCBifCBhID09
IGIgfQpgYGAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVy
ZSAjMTQ0NzY6IEFkZGluZyBzYW1lX2FsbD8gZm9yIGNoZWNraW5nIHdoZXRoZXIgYWxsIGl0ZW1z
IGluIGFuIEFycmF5IGFyZSBzYW1lCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8x
NDQ3NiNjaGFuZ2UtNzAzNzEKCiogQXV0aG9yOiBtcmtuIChLZW50YSBNdXJhdGEpCiogU3RhdHVz
OiBBc3NpZ25lZAoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogbWF0eiAoWXVraWhpcm8g
TWF0c3Vtb3RvKQoqIFRhcmdldCB2ZXJzaW9uOiAyLjYKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpJbiB0aGlzIGlzc3VlLCBJIHByb3Bvc2UgdG8gaW50cm9kdWNlIGBz
YW1lX2FsbD9gIGluc3RhbmNlIG1ldGhvZCBvZiBgQXJyYXlgIGNsYXNzLgpUaGlzIG5ldyBtZXRo
b2QgY2hlY2tzIHdoZXRoZXIgdGhlIGFsbCBpdGVtcyBpbiB0aGUgcmVjZWl2ZXIgYXJlIHNhbWUu
CgpUb2RheSwgSSBuZWVkZWQgdG8gd3JpdGUgdGhlIGNvZGUgdG8ganVkZ2Ugd2hldGhlciBhbGwg
aXRlbXMgaW4gYW4gQXJyYXkgYXJlIHNhbWUuCkkgd2FudGVkIHRvIG1ha2UgdGhlIGZvbGxvd2lu
ZyBleHByZXNzaW9uLCB0aGF0IEkndmUgd3JpdHRlbiBhdCBmaXJzdCwgbW9yZSBlZmZpY2llbnRs
eS4KCmBgYHJ1YnkKYXJ5LmFsbD8ge3xlfCBlLmZvbyA9PSBhcnlbMF0uZm9vIH0KYGBgCgpJIHRo
b3VnaHQgdGhlIGZvbGxvd2luZyBhbm90aGVyIHNpbXBsZXIgY2FzZSwgdG9vLgoKYGBgcnVieQph
cnkuYWxsPyB7fGV8IGUgPT0gYXJ5WzBdIH0KYGBgCgpBcyBJIGRpc2N1c3NlZCB3aXRoIHNvbWUg
Q1J1YnkgY29tbWl0dGVycyBhbmQgbXkgY29sbGVhZ3VlcyBhdCBTcGVlZSwgSW5jLiwgSSBmb3Vu
ZCB0aGF0IGJvdGggY2FzZXMgaGF2ZSB0aGUgZm9sbG93aW5nIGVmZmljaWVudCBleHByZXNzaW9u
czoKCmBgYHJ1YnkKIyBmb3IgdGhlIDFzdCBjYXNlCmFyeS5lbXB0eT8gfHwgYXJ5WzBdLmZvby55
aWVsZF9zZWxmIHt8ZTB8IGFyeVsxLi4tMV0uYWxsPyB7fGV8IGUuZm9vID09IGUwIH0gfeKAqAoK
IyBmb3IgdGhlIDJuZCBjYXNlCmFyeS5lbXB0eT8gfHwgYXJ5WzAuLi0yXSA9PSBhcnlbMS4uLTFd
CmBgYAoKQm90aCBleHByZXNzaW9ucyBhcmVuJ3QgZWFzeSB0byB1bmRlcnN0YW5kIHRoZSBvcmln
aW5hbCBwdXJwb3NlIHRoYXQgaXMgY2hlY2tpbmcgd2hldGhlciBhbGwgdGhlIGl0ZW1zIGFyZSBz
YW1lLgoKSSB3YW50IHRvIGdpdmUgdGhpcyBmZWF0dXJlIGEgY2xlYXIgbmFtZSB0byBtYWtlIHRo
ZSBjb2RlIHJlYWRhYmxlLgpBbmQgSSB0aGluayBpdCBzaG91bGQgYmUgcHJvdmlkZWQgYXMgYSBj
b3JlIGZlYXR1cmUgYmVjYXVzZSBpdCBjYW4gYmUgbW9yZSBlZmZpY2llbnQgYnkgaW1wbGVtZW50
aW5nIGluIEMgbGFuZ3VhZ2UuCgpUaGUgYmVuY2htYXJrIHNjcmlwdCBpczogaHR0cHM6Ly9naXN0
LmdpdGh1Yi5jb20vbXJrbi8yNmEwZmNmYzQzMWE0NWZlODA5ZmJiZWY5NWFjZWFmNQpJIHVzZWQg
aXQgdG8gZmluZCB0aGUgZWZmaWNpZW50IGV4cHJlc3Npb25zLgpUaGUgZXhhbXBsZSByZXN1bHQg
b2YgdGhpcyBiZW5jaG1hcmsgb24gbXkgTWFjQm9vayBQcm8gaXMgaGVyZS4KCmBgYAokIHJ1Ynkg
LXYgYmVuY2gucmIKcnVieSAyLjYuMGRldiAoMjAxOC0wMi0xNCB0cnVuayA2MjQwMikgW3g4Nl82
NC1kYXJ3aW4xNl0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCZW5j
aG1hcmsgY2FzZTogc2h1ZmZsZQogICAgICAgICAgICAgICAgIHVzZXIgICAgIHN5c3RlbSAgICAg
IHRvdGFsICAgICAgICByZWFsCmFsbD8tbWV0aG9kLTEgIDAuMDAxNTI1ICAgMC4wMDAwODggICAw
LjAwMTYxMyAoICAwLjAwMTYzMikKYWxsPy1tZXRob2QtMiAgMC4wMDA0ODkgICAwLjAwMDAzMSAg
IDAuMDAwNTIwICggIDAuMDAwNTY1KQphbGw/LW1ldGhvZC0zICAwLjAwMDQ0NCAgIDAuMDAwMDM5
ICAgMC4wMDA0ODMgKCAgMC4wMDA0ODIpCmFsbD8taXRlbSAgICAwLjAwMDMyNSAgIDAuMDAwMDc4
ICAgMC4wMDA0MDMgKCAgMC4wMDA0MDIpCm9wdC1tZXRob2QgICAwLjY1NTk1OSAgIDAuMDMzODE0
ICAgMC42ODk3NzMgKCAgMC43MDg1MTUpCm9wdC1pdGVtICAgICAwLjAwMDMxNiAgIDAuMDAwMDAx
ICAgMC4wMDAzMTcgKCAgMC4wMDAzMTcpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCkJlbmNobWFyayBjYXNlOiB0YWlsMAogICAgICAgICAgICAgICAgIHVzZXIgICAg
IHN5c3RlbSAgICAgIHRvdGFsICAgICAgICByZWFsCmFsbD8tbWV0aG9kLTEgIDkuNDEyODEwICAg
MC4yMzExMjYgICA5LjY0MzkzNiAoICA5LjY4MTExOCkKYWxsPy1tZXRob2QtMiAgNS4zNzUwNzUg
ICAwLjEzNzkwOCAgIDUuNTEyOTgzICggIDUuNzU0NTUwKQphbGw/LW1ldGhvZC0zICA1LjIyNjEz
MiAgIDAuMTY3NjQwICAgNS4zOTM3NzIgKCAgNS41MDcwMzEpCmFsbD8taXRlbSAgICAwLjg3Mzcw
MCAgIDAuMDA3NTQ1ICAgMC44ODEyNDUgKCAgMC45MTcyMTApCm9wdC1tZXRob2QgICA1LjMxOTY0
OCAgIDAuMTcyNTQ3ICAgNS40OTIxOTUgKCAgNS42MzMxNDApCm9wdC1pdGVtICAgICAwLjE3NDM0
OSAgIDAuMDAxOTc0ICAgMC4xNzYzMjMgKCAgMC4xODMwMDIpCgotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJlbmNobWFyayBjYXNlOiBoZWFkMAogICAgICAgICAgICAg
ICAgIHVzZXIgICAgIHN5c3RlbSAgICAgIHRvdGFsICAgICAgICByZWFsCmFsbD8tbWV0aG9kLTEg
IDAuMDAyNDIxICAgMC4wMDAwNjggICAwLjAwMjQ4OSAoICAwLjAwMjQ4OSkKYWxsPy1tZXRob2Qt
MiAgMC4wMDIxNjkgICAwLjAwMDIxMyAgIDAuMDAyMzgyICggIDAuMDAyMzgyKQphbGw/LW1ldGhv
ZC0zICAwLjAwMTYyNCAgIDAuMDAwMDI2ICAgMC4wMDE2NTAgKCAgMC4wMDE2NTEpCmFsbD8taXRl
bSAgICAwLjAwMDYyMyAgIDAuMDAwMDAxICAgMC4wMDA2MjQgKCAgMC4wMDA2MjQpCm9wdC1tZXRo
b2QgICA0Ljc3OTEyMCAgIDAuMTQ2MzEyICAgNC45MjU0MzIgKCAgNC45NTExNjcpCm9wdC1pdGVt
ICAgICAwLjAwMDYyOSAgIDAuMDAwMDAxICAgMC4wMDA2MzAgKCAgMC4wMDA2MjkpCgotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJlbmNobWFyayBjYXNlOiBhbGwxCiAg
ICAgICAgICAgICAgICAgdXNlciAgICAgc3lzdGVtICAgICAgdG90YWwgICAgICAgIHJlYWwKYWxs
Py1tZXRob2QtMSAgOS4zNzk2NTAgICAwLjI1NTg2NSAgIDkuNjM1NTE1ICggIDkuNjgzMDc4KQph
bGw/LW1ldGhvZC0yICA0Ljk1MDI4MCAgIDAuMTUwNjU5ICAgNS4xMDA5MzkgKCAgNS4xNDAxNzQp
CmFsbD8tbWV0aG9kLTMgIDQuODU3ODk4ICAgMC4xMjkxMjUgICA0Ljk4NzAyMyAoICA1LjAwMzE0
MikKYWxsPy1pdGVtICAgIDAuNjk0MTEzICAgMC4wMDEyOTUgICAwLjY5NTQwOCAoICAwLjcwMjM3
MCkKb3B0LW1ldGhvZCAgIDUuMDMyMzczICAgMC4xMjE3MDggICA1LjE1NDA4MSAoICA1LjE4OTU5
OSkKb3B0LWl0ZW0gICAgIDAuMTcwNTQwICAgMC4wMDIwNjkgICAwLjE3MjYwOSAoICAwLjE4MDM0
MykKCmBgYAoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTog
PG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3Jp
YmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9yZy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9y
dWJ5LWNvcmU+Cg==

In This Thread

Prev Next