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

From: kakyoin.hierophant@...
Date: 2016-09-14 12:57:07 UTC
List: ruby-core #77273
SXNzdWUgIzEyNTIxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgVG9tb2hpcm8gSGFzaGlkYXRlLgoKCkkg
d2FudCB0aGlzIGZlYXR1cmUuCktleXdvcmQgYXJndW1lbnQgaXMgc2FmZXIgYW5kIG1vcmUgZXhw
bGFuYXRvcnkgdGhhbiBzcGxhdCBzdHlsZS4KQnV0IEkgc29tZXRpbWVzIHdhbnQgdG8gcGFzcyB3
aG9sZSBhcmd1bWVudHMgdG8gb3RoZXIgbWV0aG9kcy4KCkV4YW1wbGUuCkNMSSBnZW0gdGhhdCB1
c2VzIEFXUyBhcGkgYW5kIGFjY2VwdHMgYXBpIGtleSwgc2VjcmV0IGtleSwgcmVnaW9uLCBhbmQg
ZW5kcG9pbnQgYXMgY29tbWFuZCBvcHRpb25zLgoKfn5+IHJ1YnkKY2xhc3MgS01TCiAgZGVmIGlu
aXRpYWxpemUoa2V5X2lkLCByZWdpb246LCBhY2Nlc3Nfa2V5X2lkOiBuaWwsIHNlY3JldF9hY2Nl
c3Nfa2V5OiBuaWwpCiAgICBAY2xpZW50ID0gQXdzOjpLTVM6OkNsaWVudC5uZXcoewogICAgICBy
ZWdpb246IHJlZ2lvbiwKICAgICAgYWNjZXNzX2tleV9pZDogYWNjZXNzX2tleV9pZCwKICAgICAg
c2VjcmV0X2FjY2Vzc19rZXk6IHNlY3JldF9hY2Nlc3Nfa2V5LAogICAgfSkKICAgIEBrZXlfaWQg
PSBrZXlfaWQKICBlbmQKCiAgZGVmIGVuY3J5cHQodmFsdWUpCiAgICByZXNwID0gQGNsaWVudC5l
bmNyeXB0KGtleV9pZDogQGtleV9pZCwgcGxhaW50ZXh0OiBZQU1MLmR1bXAodmFsdWUpKQogICAg
QmFzZTY0LnN0cmljdF9lbmNvZGU2NChyZXNwLmNpcGhlcnRleHRfYmxvYikKICBlbmQKCiAgZGVm
IGRlY3J5cHQodmFsdWUpCiAgICByZXNwID0gQGNsaWVudC5kZWNyeXB0KGNpcGhlcnRleHRfYmxv
YjogQmFzZTY0LnN0cmljdF9kZWNvZGU2NCh2YWx1ZSkpCiAgICBZQU1MLmxvYWQocmVzcC5wbGFp
bnRleHQpCiAgZW5kCmVuZAp+fn4KCklmIEkgY2FuIHVzZSBgX19rZXlhcmdzX19gICh0ZW50YXRp
dmUgbmFtZSksIEkgY2FuIG9taXQgcmVkdW5kYW50IGxpbmVzLgoKfn5+IHJ1YnkKY2xhc3MgS01T
CiAgZGVmIGluaXRpYWxpemUoa2V5X2lkLCByZWdpb246LCBhY2Nlc3Nfa2V5X2lkOiBuaWwsIHNl
Y3JldF9hY2Nlc3Nfa2V5OiBuaWwpCiAgICBAY2xpZW50ID0gQXdzOjpLTVM6OkNsaWVudC5uZXco
X19rZXlhcmdzX18pICMgc2ltcGxlCiAgICBAa2V5X2lkID0ga2V5X2lkCiAgZW5kCgogICMgLi4u
Cn5+fgoKVGhpcyBleGFtcGxlIGhhcyBmZXcgYXJncywgYnV0IEkgc29tZXRpbWVzIG5lZWRzIHNv
IG1hbnkgYXJncyB3aGVuIEkga2ljayBjb21wbGljYXRlZCB3ZWIgQVBJLgoKLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpCdWcgIzEyNTIxOiBTeW50YXggZm9yIHJldHJp
ZXZpbmcgYXJndW1lbnQgd2l0aG91dCByZW1vdmluZyBpdCBmcm9tIGRvdWJsZS1zcGxhdCBjYXRj
aC1hbGwKaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEyNTIxI2NoYW5nZS02MDUw
MwoKKiBBdXRob3I6IEd1eXJlbiBIb3dlCiogU3RhdHVzOiBDbG9zZWQKKiBQcmlvcml0eTogTm9y
bWFsCiogQXNzaWduZWU6IAoqIHJ1YnkgLXY6IAoqIEJhY2twb3J0OiAyLjE6IFVOS05PV04sIDIu
MjogVU5LTk9XTiwgMi4zOiBVTktOT1dOCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KVGhlcmUgaXMgYW4gaW50ZXJlc3Rpbmcgc3R5bGUgb2YgcHJvZ3JhbW1pbmcgdGhh
dCBpcyAqYWxtb3N0KiByZWFsbHkgZWFzeSB0byBkbyBpbiBSdWJ5LiBJdCB3b3VsZCB3b3JrIGVs
ZWdhbnRseSB3aXRoIGEgc2ltcGxlIGNoYW5nZS4gQSBkb3VibGUtY29sb24ga2V5d29yZCBhcmd1
bWVudCBzaG91bGQgYmUgYXZhaWxhYmxlIHRoYXQgd2lsbCBzdGlsbCBsZWF2ZSB0aGUgc2FtZSBh
cmd1bWVudCBjYXB0dXJlZCBieSBhIGRvdWJsZS1zcGxhdCBhcmd1bWVudCBpZiBwcmVzZW50LiBX
aXRoIHRoaXMgYXZhaWxhYmxlLCBpdCBiZWNvbWVzIGVhc3kgdG8gcGFzcyBkb3duIGEgImNvbnRl
eHQiIHRocm91Z2ggYSBjYWxsIGNoYWluLgoKQ29uc2lkZXIgdGhpczoKCmBgYApkZWYgY29udHJv
bGxlciBuYW1lOjosICoqY29udGV4dAogIOKApgogIGxvZ190aGVuX3JlbmRlciBzb21ldGhpbmc6
LCBuYW1lOiwgKipjb250ZXh0CmVuZAoKZGVmIGxvZ190aGVuX3JlbmRlciAqKmNvbnRleHQKICBs
b2cgY29udGV4dAogIGNvbXBsZXhfbG9naWNfdGhlbl9yZW5kZXIgKipjb250ZXh0CmVuZAoKZGVm
IGNvbXBsZXhfbG9naWNfdGhlbl9yZW5kZXIgbmFtZTo6LCAqKmNvbnRleHQK4oCmCkJ1bmNoIG9m
IGZ1cnRoZXIgY2FsbHMKCmRlZiByZW5kZXIgbmFtZTo6LCBzb21ldGhpbmc6OiwgKipjb250ZXh0
CiAg4oCmCmVuZApgYGAKCk5vdyBhc3N1bWUgSSBkZWNpZGUgcmVuZGVyIG5lZWRzIGEgZm9vIGFy
Z3VtZW50LCB0aGF0IEkgb2J0YWluIGluIG15IGNvbnRyb2xsZXIuIFRoZSBvbmx5IGZ1bmN0aW9u
cyB0aGF0IGFyZSBhd2FyZSBvZiBvciBoYXZlIGFueSBuZWVkIGZvciB0aGUgYXJndW1lbnQgYXJl
IGNvbnRyb2xsZXIgYW5kIHJlbmRlci4gV2l0aCBmdW5jdGlvbnMgd3JpdHRlbiBpbiB0aGlzIHN0
eWxlLCBJIG9ubHkgbmVlZCB0byBtb2RpZnkgdGhlIHR3byBmdW5jdGlvbnMgdGhhdCBuZWVkIHRv
IGtub3cgYWJvdXQgdGhlIGFyZ3VtZW50OgoKYGBgCmRlZiBjb250cm9sbGVyIG5hbWU6OiwgKipj
b250ZXh0CiAg4oCmCiAgbG9nX3RoZW5fcmVuZGVyIHNvbWV0aGluZzosIG5hbWU6LCBmb286IGZv
b192YWx1ZSwgKipjb250ZXh0CmVuZAoK4oCmIG5vIGNoYW5nZXMg4oCmCgpkZWYgcmVuZGVyIG5h
bWU6Oiwgc29tZXRoaW5nOjosIGZvbzo6ICoqY29udGV4dAogIOKApiBub3cgdXNlIGZvbyDigKYK
ZW5kCmBgYAoKVGhpcyBpcywgSSBhY2NlcHQsIHVudXN1YWwuIEkndmUgbm90IHNlZW4gYSBsYW5n
dWFnZSB0aGF0IG9mZmVycyB0aGlzIHNvcnQgb2YgZmVhdHVyZSAoSSBjYWxsIHRoZW0sIGZvciB2
YXJpb3VzIHJlYXNvbiBJIGRvbid0IGhhdmUgdGltZSB0byBnbyBpbnRvIG5vdywgRlJFU1QgZnVu
Y3Rpb25zKS4gSSBjYW4gYmFzaWNhbGx5IGltcGxlbWVudCB0aGlzIG5vdyB3aXRoIGEgZGVjb3Jh
dG9yLCBidXQgaXQncyBhIGxpdHRsZSB1Z2x5IGFuZCBzbG93LgoKSXQganVzdCBvY2N1cnJlZCB0
byBtZSB0aGF0IGFuIGFsdGVybmF0aXZlIHdvdWxkIGJlIGEgdHJpcGxlLXNwbGF0IGZpbmFsIGFy
Z3VtZW50IChvciBzb21lIHN1Y2gpIHRoYXQgZ2F0aGVycyBhbGwgdGhlIGtleXdvcmRzLgoKVGhl
cmUgaXMgYSByZWxhdGVkIHByb2JsZW0gd2l0aCB0aGUgd2F5IGRvdWJsZS1zcGxhdCBhbmQgcmVn
dWxhciBrZXl3b3JkIGFyZ3VtZW50cyBpbnRlcmFjdCB0aGF0IHNob3VsZCBiZSBmaXhlZCBhbnl3
YXkuCgoKCi0tIApodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFp
bHRvOnJ1YnktY29yZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4K
PGh0dHA6Ly9saXN0cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1Ynkt
Y29yZT4K

In This Thread

Prev Next