[#83107] Alias Enumerable#include? to Enumerable#includes? — Alberto Almagro <albertoalmagro@...>

Hello,

9 messages 2017/10/04

[ruby-core:83383] [Ruby trunk Feature#13712] String#start_with? with regexp

From: matz@...
Date: 2017-10-19 07:54:22 UTC
List: ruby-core #83383
SXNzdWUgIzEzNzEyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWF0eiAoWXVraWhpcm8gTWF0c3Vtb3Rv
KS4KCgpBZ3JlZWQuIE5lZWQgdG8gdXBkYXRlIGBSZWdleHAubGFzdF9tYXRoYC4KCk1hdHouCgot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkZlYXR1cmUgIzEzNzEyOiBT
dHJpbmcjc3RhcnRfd2l0aD8gd2l0aCByZWdleHAKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcv
aXNzdWVzLzEzNzEyI2NoYW5nZS02NzM0NAoKKiBBdXRob3I6IG5hcnVzZSAoWXVpIE5BUlVTRSkK
KiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNzaWduZWU6IAoqIFRhcmdldCB2
ZXJzaW9uOiAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpTdHJpbmcj
c3RhcnRfd2l0aD8gc2hvdWxkIHJlY2VpdmUgcmVnZXhwLgoKV2hlbiBJIHdyaXRlIGEgcGFyc2Vy
LCBJIHdhbnQgdG8gY2hlY2sgYSBzdHJpbmcgaXMgc3RhcnQgd2l0aCBhIHBhdHRlcm4gb3Igbm90
LgpJdCdzIGp1c3QgdGhlIHNhbWUgdGhpbmcgd2l0aCBbU3RyaW5nU2Nhbm5lciNtYXRjaF0oaHR0
cHM6Ly9ydWJ5LWRvYy5vcmcvc3RkbGliLTIuNC4wL2xpYmRvYy9zdHJzY2FuL3Jkb2MvU3RyaW5n
U2Nhbm5lci5odG1sI21ldGhvZC1pLW1hdGNoLTNGKQoKSWYgSSB3YW50IHRvIGRvIHRoZSBzYW1l
IHRoaW5nIHdpdGggbm9ybWFsIHN0cmluZyBtZXRob2QsIGl0IG5lZWRzIHRvIHdyaXRlIGxpa2Ug
YC9cQSN7cmV9Ly5tYXRjaCjigKYpYC4KQnV0IGlmIHJlIGlzIGFyZ3VtZW50LCBpdCBuZWVkcyB0
byBjcmVhdGUgYSBuZXcgdGVtcG9yYXJ5IHJlZ2V4cCBldmVyeSB0aW1lLgoKVGhvdWdoIHdlIGhh
dmUgYSB3b3JrYXJvdW5kIGFzIGZvbGxvd3MgYnV0IGl0J3MgYml0IHRyaWNreS4KCmBgYHJ1YnkK
ImZvbyAiLnJpbmRleCgvZm8rLi8sIDApCmBgYAoKQSBwYXRjaCBpcyBmb2xsb3dpbmc6CgpgYGBk
aWZmCmRpZmYgLS1naXQgYS9yZS5jIGIvcmUuYwppbmRleCBkMGFhMmE3OTJlLi5mNjcyYmE3NWVj
IDEwMDY0NAotLS0gYS9yZS5jCisrKyBiL3JlLmMKQEAgLTE1ODgsNiArMTU4OCw4NCBAQCByYl9y
ZWdfc2VhcmNoKFZBTFVFIHJlLCBWQUxVRSBzdHIsIGxvbmcgcG9zLCBpbnQgcmV2ZXJzZSkKICAg
ICByZXR1cm4gcmJfcmVnX3NlYXJjaDAocmUsIHN0ciwgcG9zLCByZXZlcnNlLCAxKTsKIH0KIAor
Ym9vbAorcmJfcmVnX3N0YXJ0X3dpdGhfcChWQUxVRSByZSwgVkFMVUUgc3RyKQoreworICAgIGxv
bmcgcG9zID0gMDsKKyAgICBsb25nIHJlc3VsdDsKKyAgICBWQUxVRSBtYXRjaDsKKyAgICBzdHJ1
Y3QgcmVfcmVnaXN0ZXJzIHJlZ2ksICpyZWdzID0gJnJlZ2k7CisgICAgcmVnZXhfdCAqcmVnOwor
ICAgIGludCB0bXByZWc7CisgICAgb25pZ19lcnJtc2dfYnVmZmVyIGVyciA9ICIiOworCisgICAg
cmVnID0gcmJfcmVnX3ByZXBhcmVfcmUwKHJlLCBzdHIsIGVycik7CisgICAgdG1wcmVnID0gcmVn
ICE9IFJSRUdFWFBfUFRSKHJlKTsKKyAgICBpZiAoIXRtcHJlZykgUlJFR0VYUChyZSktPnVzZWNu
dCsrOworCisgICAgbWF0Y2ggPSByYl9iYWNrcmVmX2dldCgpOworICAgIGlmICghTklMX1AobWF0
Y2gpKSB7CisJaWYgKEZMX1RFU1QobWF0Y2gsIE1BVENIX0JVU1kpKSB7CisJICAgIG1hdGNoID0g
UW5pbDsKKwl9CisJZWxzZSB7CisJICAgIHJlZ3MgPSBSTUFUQ0hfUkVHUyhtYXRjaCk7CisJfQor
ICAgIH0KKyAgICBpZiAoTklMX1AobWF0Y2gpKSB7CisJTUVNWkVSTyhyZWdzLCBzdHJ1Y3QgcmVf
cmVnaXN0ZXJzLCAxKTsKKyAgICB9CisgICAgcmVzdWx0ID0gb25pZ19tYXRjaChyZWcsCisJCQkg
KFVDaGFyKikoUlNUUklOR19QVFIoc3RyKSksCisJCQkgKChVQ2hhciopKFJTVFJJTkdfUFRSKHN0
cikpICsgUlNUUklOR19MRU4oc3RyKSksCisJCQkgKFVDaGFyKikoUlNUUklOR19QVFIoc3RyKSks
CisJCQkgcmVncywgT05JR19PUFRJT05fTk9ORSk7CisgICAgaWYgKCF0bXByZWcpIFJSRUdFWFAo
cmUpLT51c2VjbnQtLTsKKyAgICBpZiAodG1wcmVnKSB7CisJaWYgKFJSRUdFWFAocmUpLT51c2Vj
bnQpIHsKKwkgICAgb25pZ19mcmVlKHJlZyk7CisJfQorCWVsc2UgeworCSAgICBvbmlnX2ZyZWUo
UlJFR0VYUF9QVFIocmUpKTsKKwkgICAgUlJFR0VYUF9QVFIocmUpID0gcmVnOworCX0KKyAgICB9
CisgICAgaWYgKHJlc3VsdCA8IDApIHsKKwlpZiAocmVncyA9PSAmcmVnaSkKKwkgICAgb25pZ19y
ZWdpb25fZnJlZShyZWdzLCAwKTsKKwlpZiAocmVzdWx0ID09IE9OSUdfTUlTTUFUQ0gpIHsKKwkg
ICAgcmJfYmFja3JlZl9zZXQoUW5pbCk7CisJICAgIHJldHVybiBmYWxzZTsKKwl9CisJZWxzZSB7
CisJICAgIG9uaWdfZXJyb3JfY29kZV90b19zdHIoKFVDaGFyKillcnIsIChpbnQpcmVzdWx0KTsK
KwkgICAgcmJfcmVnX3JhaXNlKFJSRUdFWFBfU1JDX1BUUihyZSksIFJSRUdFWFBfU1JDX0xFTihy
ZSksIGVyciwgcmUpOworCX0KKyAgICB9CisKKyAgICBpZiAoTklMX1AobWF0Y2gpKSB7CisJaW50
IGVycjsKKwltYXRjaCA9IG1hdGNoX2FsbG9jKHJiX2NNYXRjaCk7CisJZXJyID0gcmJfcmVnX3Jl
Z2lvbl9jb3B5KFJNQVRDSF9SRUdTKG1hdGNoKSwgcmVncyk7CisJb25pZ19yZWdpb25fZnJlZShy
ZWdzLCAwKTsKKwlpZiAoZXJyKSByYl9tZW1lcnJvcigpOworICAgIH0KKyAgICBlbHNlIHsKKwlG
TF9VTlNFVChtYXRjaCwgRkxfVEFJTlQpOworICAgIH0KKworICAgIFJNQVRDSChtYXRjaCktPnN0
ciA9IHJiX3N0cl9uZXc0KHN0cik7CisgICAgT0JKX0lORkVDVChtYXRjaCwgc3RyKTsKKworICAg
IFJNQVRDSChtYXRjaCktPnJlZ2V4cCA9IHJlOworICAgIFJNQVRDSChtYXRjaCktPnJtYXRjaC0+
Y2hhcl9vZmZzZXRfdXBkYXRlZCA9IDA7CisgICAgcmJfYmFja3JlZl9zZXQobWF0Y2gpOworCisg
ICAgT0JKX0lORkVDVChtYXRjaCwgcmUpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIFZBTFVF
CiByYl9yZWdfbnRoX2RlZmluZWQoaW50IG50aCwgVkFMVUUgbWF0Y2gpCiB7CmRpZmYgLS1naXQg
YS9zdHJpbmcuYyBiL3N0cmluZy5jCmluZGV4IDA3MmYxMzI5ZWUuLjY1NDJhNGFjYjEgMTAwNjQ0
Ci0tLSBhL3N0cmluZy5jCisrKyBiL3N0cmluZy5jCkBAIC05MTI2LDYgKzkxMjYsNyBAQCByYl9z
dHJfcnBhcnRpdGlvbihWQUxVRSBzdHIsIFZBTFVFIHNlcCkKIAkJCQkJUlNUUklOR19MRU4oc3Ry
KS1wb3MtUlNUUklOR19MRU4oc2VwKSkpOwogfQogCitleHRlcm4gYm9vbCByYl9yZWdfc3RhcnRf
d2l0aF9wKFZBTFVFIHJlLCBWQUxVRSBzdHIpOwogLyoKICAqICBjYWxsLXNlcToKICAqICAgICBz
dHIuc3RhcnRfd2l0aD8oW3ByZWZpeGVzXSspICAgLT4gdHJ1ZSBvciBmYWxzZQpAQCAtOTE0Niwx
MSArOTE0NywyMCBAQCByYl9zdHJfc3RhcnRfd2l0aChpbnQgYXJnYywgVkFMVUUgKmFyZ3YsIFZB
TFVFIHN0cikKIAogICAgIGZvciAoaT0wOyBpPGFyZ2M7IGkrKykgewogCVZBTFVFIHRtcCA9IGFy
Z3ZbaV07Ci0JU3RyaW5nVmFsdWUodG1wKTsKLQlyYl9lbmNfY2hlY2soc3RyLCB0bXApOwotCWlm
IChSU1RSSU5HX0xFTihzdHIpIDwgUlNUUklOR19MRU4odG1wKSkgY29udGludWU7Ci0JaWYgKG1l
bWNtcChSU1RSSU5HX1BUUihzdHIpLCBSU1RSSU5HX1BUUih0bXApLCBSU1RSSU5HX0xFTih0bXAp
KSA9PSAwKQotCSAgICByZXR1cm4gUXRydWU7CisJc3dpdGNoIChCVUlMVElOX1RZUEUodG1wKSkg
eworCSAgY2FzZSBUX1JFR0VYUDoKKwkgICAgeworCQlib29sIHIgPSByYl9yZWdfc3RhcnRfd2l0
aF9wKHRtcCwgc3RyKTsKKwkJaWYgKHIpIHJldHVybiBRdHJ1ZTsKKwkgICAgfQorCSAgICBicmVh
azsKKwkgIGRlZmF1bHQ6CisJICAgIFN0cmluZ1ZhbHVlKHRtcCk7CisJICAgIHJiX2VuY19jaGVj
ayhzdHIsIHRtcCk7CisJICAgIGlmIChSU1RSSU5HX0xFTihzdHIpIDwgUlNUUklOR19MRU4odG1w
KSkgY29udGludWU7CisJICAgIGlmIChtZW1jbXAoUlNUUklOR19QVFIoc3RyKSwgUlNUUklOR19Q
VFIodG1wKSwgUlNUUklOR19MRU4odG1wKSkgPT0gMCkKKwkJcmV0dXJuIFF0cnVlOworCX0KICAg
ICB9CiAgICAgcmV0dXJuIFFmYWxzZTsKIH0KYGBgCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1s
YW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFu
Zy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2Nn
aS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K

In This Thread

Prev Next