[ruby-core:77334] [Ruby trunk Bug#12521] Syntax for retrieving argument without removing it from double-splat catch-all

From: eregontp@...
Date: 2016-09-21 11:13:34 UTC
List: ruby-core #77334
SXNzdWUgIzEyNTIxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgQmVub2l0IERhbG96ZS4KCgpUb21vaGly
byBIYXNoaWRhdGUgd3JvdGU6Cj4gSSB3YW50IHRoaXMgZmVhdHVyZS4KPiBLZXl3b3JkIGFyZ3Vt
ZW50IGlzIHNhZmVyIGFuZCBtb3JlIGV4cGxhbmF0b3J5IHRoYW4gc3BsYXQgc3R5bGUuCj4gQnV0
IEkgc29tZXRpbWVzIHdhbnQgdG8gcGFzcyB3aG9sZSBhcmd1bWVudHMgdG8gb3RoZXIgbWV0aG9k
cy4KPiAKPiBFeGFtcGxlLgo+IENMSSBnZW0gdGhhdCB1c2VzIEFXUyBhcGkgYW5kIGFjY2VwdHMg
YXBpIGtleSwgc2VjcmV0IGtleSwgcmVnaW9uLCBhbmQgZW5kcG9pbnQgYXMgY29tbWFuZCBvcHRp
b25zLgo+IAo+IH5+fiBydWJ5Cj4gY2xhc3MgS01TCj4gICBkZWYgaW5pdGlhbGl6ZShrZXlfaWQs
IHJlZ2lvbjosIGFjY2Vzc19rZXlfaWQ6IG5pbCwgc2VjcmV0X2FjY2Vzc19rZXk6IG5pbCkKPiAg
ICAgQGNsaWVudCA9IEF3czo6S01TOjpDbGllbnQubmV3KHsKPiAgICAgICByZWdpb246IHJlZ2lv
biwKPiAgICAgICBhY2Nlc3Nfa2V5X2lkOiBhY2Nlc3Nfa2V5X2lkLAo+ICAgICAgIHNlY3JldF9h
Y2Nlc3Nfa2V5OiBzZWNyZXRfYWNjZXNzX2tleSwKPiAgICAgfSkKPiAgICAgQGtleV9pZCA9IGtl
eV9pZAo+ICAgZW5kCj4gICAjIC4uLgo+IGVuZAo+IH5+fgo+IAo+IElmIEkgY2FuIHVzZSBgX19r
ZXlhcmdzX19gICh0ZW50YXRpdmUgbmFtZSksIEkgY2FuIG9taXQgcmVkdW5kYW50IGxpbmVzLgo+
IAo+IH5+fiBydWJ5Cj4gY2xhc3MgS01TCj4gICBkZWYgaW5pdGlhbGl6ZShrZXlfaWQsIHJlZ2lv
bjosIGFjY2Vzc19rZXlfaWQ6IG5pbCwgc2VjcmV0X2FjY2Vzc19rZXk6IG5pbCkKPiAgICAgQGNs
aWVudCA9IEF3czo6S01TOjpDbGllbnQubmV3KF9fa2V5YXJnc19fKSAjIHNpbXBsZQo+ICAgICBA
a2V5X2lkID0ga2V5X2lkCj4gICBlbmQKPiAKPiAgICMgLi4uCj4gfn5+CgpXaHkgaXMgaXQgYmV0
dGVyIHRoYW4gdGhpcz8KCn5+fiBydWJ5CmNsYXNzIEtNUwogIGRlZiBpbml0aWFsaXplKGtleV9p
ZCwgKiphdXRoKQogICAgQGNsaWVudCA9IEF3czo6S01TOjpDbGllbnQubmV3KCoqYXV0aCkgIyBz
aW1wbGUKICAgIEBrZXlfaWQgPSBrZXlfaWQKICBlbmQKCiAgIyAuLi4Kfn5+CgpJdCBzZWVtcyB0
byBtZSB0aGUgQXdzOjpLTVM6OkNsaWVudCBzaG91bGQgdmFsaWRhdGUgaXRzIGFyZ3VtZW50cyBh
bnl3YXksIGFuZCB0aGlzIGFsc28gcmVkdWNlcyBkdXBsaWNhdGlvbi4KSWYgYSBkaWZmZXJlbnQg
QVBJIG11c3QgYmUgcHJvdmlkZWQgZm9yIEtNUyNpbml0aWFsaXplLCB0aGVuIEkgdGhpbmsgdGhl
IGV4cGxpY2l0IHN0eWxlIGlzIG11Y2ggYmV0dGVyIGFzIGl0J3MgbGVzcyBtYWdpYyBhbmQgZXJy
b3ItcHJvbmUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkJ1ZyAj
MTI1MjE6IFN5bnRheCBmb3IgcmV0cmlldmluZyBhcmd1bWVudCB3aXRob3V0IHJlbW92aW5nIGl0
IGZyb20gZG91YmxlLXNwbGF0IGNhdGNoLWFsbApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9p
c3N1ZXMvMTI1MjEjY2hhbmdlLTYwNTgwCgoqIEF1dGhvcjogR3V5cmVuIEhvd2UKKiBTdGF0dXM6
IENsb3NlZAoqIFByaW9yaXR5OiBOb3JtYWwKKiBBc3NpZ25lZTogCiogcnVieSAtdjogCiogQmFj
a3BvcnQ6IDIuMTogVU5LTk9XTiwgMi4yOiBVTktOT1dOLCAyLjM6IFVOS05PV04KLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGVyZSBpcyBhbiBpbnRlcmVzdGluZyBz
dHlsZSBvZiBwcm9ncmFtbWluZyB0aGF0IGlzICphbG1vc3QqIHJlYWxseSBlYXN5IHRvIGRvIGlu
IFJ1YnkuIEl0IHdvdWxkIHdvcmsgZWxlZ2FudGx5IHdpdGggYSBzaW1wbGUgY2hhbmdlLiBBIGRv
dWJsZS1jb2xvbiBrZXl3b3JkIGFyZ3VtZW50IHNob3VsZCBiZSBhdmFpbGFibGUgdGhhdCB3aWxs
IHN0aWxsIGxlYXZlIHRoZSBzYW1lIGFyZ3VtZW50IGNhcHR1cmVkIGJ5IGEgZG91YmxlLXNwbGF0
IGFyZ3VtZW50IGlmIHByZXNlbnQuIFdpdGggdGhpcyBhdmFpbGFibGUsIGl0IGJlY29tZXMgZWFz
eSB0byBwYXNzIGRvd24gYSAiY29udGV4dCIgdGhyb3VnaCBhIGNhbGwgY2hhaW4uCgpDb25zaWRl
ciB0aGlzOgoKYGBgcnVieQpkZWYgY29udHJvbGxlciBuYW1lOjosICoqY29udGV4dAogIOKApgog
IGxvZ190aGVuX3JlbmRlciBzb21ldGhpbmc6LCBuYW1lOiwgKipjb250ZXh0CmVuZAoKZGVmIGxv
Z190aGVuX3JlbmRlciAqKmNvbnRleHQKICBsb2cgY29udGV4dAogIGNvbXBsZXhfbG9naWNfdGhl
bl9yZW5kZXIgKipjb250ZXh0CmVuZAoKZGVmIGNvbXBsZXhfbG9naWNfdGhlbl9yZW5kZXIgbmFt
ZTo6LCAqKmNvbnRleHQK4oCmCkJ1bmNoIG9mIGZ1cnRoZXIgY2FsbHMKCmRlZiByZW5kZXIgbmFt
ZTo6LCBzb21ldGhpbmc6OiwgKipjb250ZXh0CiAg4oCmCmVuZApgYGAKCk5vdyBhc3N1bWUgSSBk
ZWNpZGUgcmVuZGVyIG5lZWRzIGEgZm9vIGFyZ3VtZW50LCB0aGF0IEkgb2J0YWluIGluIG15IGNv
bnRyb2xsZXIuIFRoZSBvbmx5IGZ1bmN0aW9ucyB0aGF0IGFyZSBhd2FyZSBvZiBvciBoYXZlIGFu
eSBuZWVkIGZvciB0aGUgYXJndW1lbnQgYXJlIGNvbnRyb2xsZXIgYW5kIHJlbmRlci4gV2l0aCBm
dW5jdGlvbnMgd3JpdHRlbiBpbiB0aGlzIHN0eWxlLCBJIG9ubHkgbmVlZCB0byBtb2RpZnkgdGhl
IHR3byBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGtub3cgYWJvdXQgdGhlIGFyZ3VtZW50OgoKYGBg
cnVieQpkZWYgY29udHJvbGxlciBuYW1lOjosICoqY29udGV4dAogIOKApgogIGxvZ190aGVuX3Jl
bmRlciBzb21ldGhpbmc6LCBuYW1lOiwgZm9vOiBmb29fdmFsdWUsICoqY29udGV4dAplbmQKCuKA
piBubyBjaGFuZ2VzIOKApgoKZGVmIHJlbmRlciBuYW1lOjosIHNvbWV0aGluZzo6LCBmb286OiAq
KmNvbnRleHQKICDigKYgbm93IHVzZSBmb28g4oCmCmVuZApgYGAKClRoaXMgaXMsIEkgYWNjZXB0
LCB1bnVzdWFsLiBJJ3ZlIG5vdCBzZWVuIGEgbGFuZ3VhZ2UgdGhhdCBvZmZlcnMgdGhpcyBzb3J0
IG9mIGZlYXR1cmUgKEkgY2FsbCB0aGVtLCBmb3IgdmFyaW91cyByZWFzb24gSSBkb24ndCBoYXZl
IHRpbWUgdG8gZ28gaW50byBub3csIEZSRVNUIGZ1bmN0aW9ucykuIEkgY2FuIGJhc2ljYWxseSBp
bXBsZW1lbnQgdGhpcyBub3cgd2l0aCBhIGRlY29yYXRvciwgYnV0IGl0J3MgYSBsaXR0bGUgdWds
eSBhbmQgc2xvdy4KCkl0IGp1c3Qgb2NjdXJyZWQgdG8gbWUgdGhhdCBhbiBhbHRlcm5hdGl2ZSB3
b3VsZCBiZSBhIHRyaXBsZS1zcGxhdCBmaW5hbCBhcmd1bWVudCAob3Igc29tZSBzdWNoKSB0aGF0
IGdhdGhlcnMgYWxsIHRoZSBrZXl3b3Jkcy4KClRoZXJlIGlzIGEgcmVsYXRlZCBwcm9ibGVtIHdp
dGggdGhlIHdheSBkb3VibGUtc3BsYXQgYW5kIHJlZ3VsYXIga2V5d29yZCBhcmd1bWVudHMgaW50
ZXJhY3QgdGhhdCBzaG91bGQgYmUgZml4ZWQgYW55d2F5LgoKCgotLSAKaHR0cHM6Ly9idWdzLnJ1
YnktbGFuZy5vcmcvCgpVbnN1YnNjcmliZTogPG1haWx0bzpydWJ5LWNvcmUtcmVxdWVzdEBydWJ5
LWxhbmcub3JnP3N1YmplY3Q9dW5zdWJzY3JpYmU+CjxodHRwOi8vbGlzdHMucnVieS1sYW5nLm9y
Zy9jZ2ktYmluL21haWxtYW4vb3B0aW9ucy9ydWJ5LWNvcmU+Cg==

In This Thread

Prev Next