[ruby-core:120057] [Ruby master Feature#20770] A *new* pipe operator proposal
From:
lpogic via ruby-core <ruby-core@...>
Date:
2024-11-29 15:52:00 UTC
List:
ruby-core #120057
SXNzdWUgIzIwNzcwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbHBvZ2ljICjFgXVrYXN6IFBvbWlldMWC bykuDQoNCg0KQWxleGFuZHJlTWFncm8gKEFsZXhhbmRyZSBNYWdybykgd3JvdGUgaW4gI25vdGUt NDc6DQo+IFRoZSBwaXBlIG9wZXJhdG9yIGlzIHdlbGwta25vd24sIGJ1dCB0aGlzIHR5cGUgb2Yg b3BlcmF0aW9uIHdpdGggYXNzaWdubWVudCBpcyBzb21ldGhpbmcgSSBoYXZlbuKAmXQgc2VlbiBi ZWZvcmUsIGFuZCBJ4oCZbSBub3Qgc3VyZSBvZiBpdHMgcHJlY2VkZW5jZS4gVGhlIGV4YW1wbGVz IGFsc28gZG9u4oCZdCBpbGx1c3RyYXRlIGEgc3Ryb25nIG5lZWQgZm9yIGl0Lg0KDQpJIHdhbnRl ZCBfc3RyXywgX2Ffc2ltcGxlX2pzb25fIGFuZCBfYV8gdG8gYmUgdHJlYXRlZCBhcyB2YXJpYWJs ZXMsIG1heWJlIG1ldGhvZCBhcmd1bWVudHMgYnV0IGltcG9zc2libGUgdG8gcmVkdWNlIHRvIG9u ZSBsaW5lLg0KDQpUaGUgbm90YXRpb24gYGEgfD49IGJgIGNvdWxkIGJlIGNvbnNpZGVyZWQgc3lu dGFjdGljIHN1Z2FyIGZvciBgYSA9IGEgfD4gYmAuIFBsZWFzZSByZW1lbWJlciB0aGF0IG1vc3Qg YmluYXJ5IG9wZXJhdG9ycyBpbiBSdWJ5IGhhdmUgc2ltaWxhciBzeW50YWN0aWMgc3VnYXIgKGlu Y2x1ZGluZyBgfHxgIGFuZCBgJiZgKS4gSSBkb24ndCBzZWUgd2h5IHRoZSAicGlwZSIgb3BlcmF0 b3Igc2hvdWxkIGJlIGFuIGV4Y2VwdGlvbi4NCg0KSSBzZWUgdGhlIHBvdGVudGlhbCBmb3Igc3Vj aCBhIGZlYXR1cmUgaW4gc2l0dWF0aW9ucyB3aGVyZSB3ZSB3YW50IHRvIHBlcmZvcm0gc29tZSBv cGVyYXRpb24gb24gYW4gb2JqZWN0IGFuZCByZXBsYWNlIGl0IHdpdGggdGhlIHJlc3VsdC4gU28g ZmFyLCBvbmx5IG9wZXJhdGlvbnMgb2YgdHlwZSBgZm9vLmEgPSBmb28uYSAvIGJgIGNhbiBiZSB3 cml0dGVuIHdpdGhvdXQgZXhwbGljaXRseSByZWZlcnJpbmcgdG8gYGZvby5hYCB0d2ljZSAoYGZv by5hIC89IGJgKS4gU3dhcHBpbmcgdGhlIG9yZGVyIG9mIGFyZ3VtZW50cyBvciB1c2luZyBhIG1l dGhvZCBpbnN0ZWFkIG9mIGFuIG9wZXJhdG9yIGJyZWFrcyB0aGUgbm90YXRpb24uIEhvd2V2ZXIs IHVzaW5nIGEgInBpcGUiIHdpdGggYXNzaWdubWVudCB3b3VsZCBnaXZlIHVzIG1vcmUgZnJlZWRv bSwgc2luY2UgaXQgd291bGQgYXBwbHkgdG8gYW55IGNhc2Ugd2hlcmUgYGZvby5hYCBpcyBvbiBi b3RoIHNpZGVzIG9mIHRoZSBhc3NpZ25tZW50OiBgZm9vLmEgfD49IGIgLyBfYCwgYGZvby5hIHw+ PSBfLmRpdiBiYC4NCg0KUGVyaGFwcyB0aGlzIGlzIG5vdCBhbiBlc3NlbnRpYWwgaXNzdWUgZm9y IHRoZSBpZGVhIGl0c2VsZiwgYnV0IEkgdGhpbmsgaXQgbWF5IGhhdmUgYW4gaW1wYWN0IG9uIHRo ZSBkaXJlY3Rpb24gb2YgY2hhbmdlLg0KDQpBbm90aGVyIHRoaW5nIEkgdGhpbmsgaXMgd29ydGgg Y29uc2lkZXJpbmcgaXMgdGhlIGNvbmRpdGlvbmFsICJwaXBlIiBvcGVyYXRvci4gSXQgY291bGQg Y29tYmluZSBmZWF0dXJlcyBvZiB0aGUgInBpcGUiIG9wZXJhdG9yIHdpdGggdGhlIGAmJmAuIExp a2UgInBpcGUiIHdpdGggYXNzaWdubWVudCwgaXQgY291bGQgcHJldmVudCBzZWxmLXJlcGVhdGlu ZyBpbiBzb21lIGNhc2VzLiBMZXQncyBhc3N1bWUgaXRzIG5vdGF0aW9uIHdvdWxkIGJlIGAmPmA6 DQpgYGBydWJ5DQpmb28gPSBTdHJ1Y3QubmV3KDpiYXIpLm5ldw0KIyBQbGVhc2UgYXNzdW1lIHRo ZSBjb2RlIGFib3ZlIGlzIGltbXV0YWJsZS4NCg0KdiA9IGZvby5iYXIgJj4gSW50ZWdlci5zcXJ0 IF8gICMgTm8gZXhjZXB0aW9uIGhlcmUgYXMgcmlnaHQgc2lkZSBpcyBldmFsdWF0ZWQgb25seSBp ZiBmb28uYmFyIGlzIG5vdCBmYWxzZSBub3IgbmlsLg0KdiAjID0+IG5pbA0KYGBgDQpIb3cgY2Fu IEkgcHV0IHRoaXMgbW9yZSBzaW1wbHk/DQoNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMDc3MDogQSAqbmV3KiBwaXBlIG9wZXJhdG9yIHBy b3Bvc2FsDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA3NzAjY2hhbmdlLTEx MDc5Ng0KDQoqIEF1dGhvcjogQWxleGFuZHJlTWFncm8gKEFsZXhhbmRyZSBNYWdybykNCiogU3Rh dHVzOiBPcGVuDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpIZWxs bywNCg0KVGhpcyBpcyBteSBmaXJzdCBjb250cmlidXRpb24gaGVyZS4gSSBoYXZlIHNlZW4gcHJl dmlvdXMgZGlzY3Vzc2lvbnMgYXJvdW5kIGludHJvZHVjaW5nIGEgcGlwZSBvcGVyYXRvciwgYnV0 IGl0IHNlZW1zIHRoZSBjb21tdW5pdHkgZGlkbid0IHJlYWNoIGEgY29uc2Vuc3VzLiBJIHdvdWxk IGxpa2UgdG8gcmV2aXNpdCB0aGlzIGlkZWEgd2l0aCBhIHNpbXBsZXIgYXBwcm9hY2gsIG1vcmUg b2YgYSBzeW50YWN0aWMgc3VnYXIgdGhhdCBhbGlnbnMgd2l0aCBob3cgb3RoZXIgbGFuZ3VhZ2Vz IGltcGxlbWVudCB0aGUgcGlwZSBvcGVyYXRvciwgYnV0IHdpdGhvdXQgbWFraW5nIHNpZ25pZmlj YW50IGNoYW5nZXMgdG8gUnVieSdzIHN5bnRheC4NCg0KQ3VycmVudGx5LCB3ZSBvZnRlbiB3cml0 ZSBjb2RlIGxpa2UgdGhpczoNCg0KYGBgcnVieQ0KdmFsdWUgPSBoYWxmKHNxdWFyZShhZGQodmFs dWUsIDMpKSkNCmBgYA0KDQpXZSBjYW4gYWNoaWV2ZSB0aGUgc2FtZSByZXN1bHQgdXNpbmcgdGhl IGB0aGVuYCBtZXRob2Q6DQoNCmBgYHJ1YnkNCnZhbHVlID0gdmFsdWUudGhlbiB7IGFkZChfMSwg MykgfS50aGVuIHsgc3F1YXJlKF8xKSB9LnRoZW4geyBoYWxmKF8xKSB9DQpgYGANCg0KV2hpbGUg YHRoZW5gIGhlbHBzIHdpdGggcmVhZGFiaWxpdHksIHdlIGNhbiBzaW1wbGlmeSBpdCBmdXJ0aGVy IHVzaW5nIHRoZSBwcm9wb3NlZCBwaXBlIG9wZXJhdG9yOg0KDQpgYGBydWJ5DQp2YWx1ZSA9IGFk ZCh2YWx1ZSwgMykgfD4gc3F1YXJlKF8xKSB8PiBoYWxmKF8xKQ0KYGBgDQoNCk1vcmVvdmVyLCB3 aXRoIHRoZSB1cGNvbWluZyBgaXRgIGZlYXR1cmUgaW4gUnVieSAzLjQgKCMxODk4MCksIHRoZSBj b2RlIGNvdWxkIGxvb2sgZXZlbiBjbGVhbmVyOg0KDQpgYGBydWJ5DQp2YWx1ZSA9IGFkZCh2YWx1 ZSwgMykgfD4gc3F1YXJlKGl0KSB8PiBoYWxmKGl0KQ0KYGBgDQoNClRoaXMgcHJvcG9zYWwgdXNl cyB0aGUgYW5vbnltb3VzIGJsb2NrIGFyZ3VtZW50IGAoXzEpYCwgYW5kIHdpdGggYGl0YCwgaXQg c2ltcGxpZmllcyB0aGUgY29kZSB3aXRob3V0IGludHJvZHVjaW5nIGNvbXBsZXggc3ludGF4IGNo YW5nZXMuIEl0IHdvdWxkIGFsbG93IHVzIHRvIGFjaGlldmUgdGhlIHNhbWUgcmVzdWx0cyBhcyBp biBvdGhlciBsYW5ndWFnZXMgdGhhdCBzdXBwb3J0IHBpcGUgb3BlcmF0b3JzLCBidXQgaW4gYSB3 YXkgdGhhdCBmZWVscyBuYXR1cmFsIHRvIFJ1YnksIHVzaW5nIGV4aXN0aW5nIGNvbnN0cnVjdHMg bGlrZSBgdGhlbmAgdW5kZXJuZWF0aC4NCg0KSSBiZWxpZXZlIHRoaXMgb3BlcmF0b3Igd291bGQg ZW5oYW5jZSBjb2RlIHJlYWRhYmlsaXR5IGFuZCBtYWludGFpbmFiaWxpdHksIGVzcGVjaWFsbHkg aW4gY2FzZXMgd2hlcmUgbXVsdGlwbGUgb3BlcmF0aW9ucyBhcmUgY2hhaW5lZCB0b2dldGhlci4N Cg0KVGhhbmsgeW91IGZvciBjb25zaWRlcmluZyB0aGlzIHByb3Bvc2FsIQ0KDQoNCg0KDQoNCg0K LS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1Ynkt Y29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1 YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczov L21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5v cmcv