[ruby-core:120060] [Ruby master Feature#20770] A *new* pipe operator proposal
From:
"austin (Austin Ziegler) via ruby-core" <ruby-core@...>
Date:
2024-11-29 17:27:32 UTC
List:
ruby-core #120060
SXNzdWUgIzIwNzcwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQoNCg0KbHBvZ2ljICjFgXVrYXN6IFBvbWlldMWCbykgd3JvdGUgaW4gI25vdGUtNDk6DQoNCj4g VGhlIG5vdGF0aW9uIGBhIHw+PSBiYCBjb3VsZCBiZSBjb25zaWRlcmVkIHN5bnRhY3RpYyBzdWdh ciBmb3IgYGEgPSBhIHw+IGJgLiBQbGVhc2UgcmVtZW1iZXIgdGhhdCBtb3N0IGJpbmFyeSBvcGVy YXRvcnMgaW4gUnVieSBoYXZlIHNpbWlsYXIgc3ludGFjdGljIHN1Z2FyIChpbmNsdWRpbmcgYHx8 YCBhbmQgYCYmYCkuIEkgZG9uJ3Qgc2VlIHdoeSB0aGUgInBpcGUiIG9wZXJhdG9yIHNob3VsZCBi ZSBhbiBleGNlcHRpb24uDQo+IA0KPiBJIHNlZSB0aGUgcG90ZW50aWFsIGZvciBzdWNoIGEgZmVh dHVyZSBpbiBzaXR1YXRpb25zIHdoZXJlIHdlIHdhbnQgdG8gcGVyZm9ybSBzb21lIG9wZXJhdGlv biBvbiBhbiBvYmplY3QgYW5kIHJlcGxhY2UgaXQgd2l0aCB0aGUgcmVzdWx0LiBTbyBmYXIsIG9u bHkgb3BlcmF0aW9ucyBvZiB0eXBlIGBmb28uYSA9IGZvby5hIC8gYmAgY2FuIGJlIHdyaXR0ZW4g d2l0aG91dCBleHBsaWNpdGx5IHJlZmVycmluZyB0byBgZm9vLmFgIHR3aWNlIChgZm9vLmEgLz0g YmApLiBTd2FwcGluZyB0aGUgb3JkZXIgb2YgYXJndW1lbnRzIG9yIHVzaW5nIGEgbWV0aG9kIGlu c3RlYWQgb2YgYW4gb3BlcmF0b3IgYnJlYWtzIHRoZSBub3RhdGlvbi4gSG93ZXZlciwgdXNpbmcg YSAicGlwZSIgd2l0aCBhc3NpZ25tZW50IHdvdWxkIGdpdmUgdXMgbW9yZSBmcmVlZG9tLCBzaW5j ZSBpdCB3b3VsZCBhcHBseSB0byBhbnkgY2FzZSB3aGVyZSBgZm9vLmFgIGlzIG9uIGJvdGggc2lk ZXMgb2YgdGhlIGFzc2lnbm1lbnQ6IGBmb28uYSB8Pj0gYiAvIF9gLCBgZm9vLmEgfD49IF8uZGl2 IGJgLg0KPiANCj4gUGVyaGFwcyB0aGlzIGlzIG5vdCBhbiBlc3NlbnRpYWwgaXNzdWUgZm9yIHRo ZSBpZGVhIGl0c2VsZiwgYnV0IEkgdGhpbmsgaXQgbWF5IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSBk aXJlY3Rpb24gb2YgY2hhbmdlLg0KDQpJIGRvIG5vdCBzZWUgaG93IGFueSBvZiB0aGlzIGltcHJv dmVzIHRoZSByZWFkYWJpbGl0eSBvZiB0aGUgY29kZS4gSU1PLCBpdCBkb2VzIHRoZSBleGFjdCBv cHBvc2l0ZS4gUmVtZW1iZXIsIHRoZSBgfD5gIHByb3Bvc2FsIGhlcmUgaXMgZXNzZW50aWFsbHkg c3ludGF4IHN1Z2FyIGZvciBgLnRoZW5gIHdpdGggYW4gaW52aXNpYmxlIGJsb2NrOg0KDQpgYGBy dWJ5DQpmb28uYmFyIHw+IGIgLyBfDQpmb28uYmFyLnRoZW4geyBiIC8gXzEgfQ0KYGBgDQoNCipO ZWl0aGVyKiBvZiB0aGVzZSBpcyBhcyByZWFkYWJsZSBhcyBgYiAvIGZvby5iYXJgLCBhbmQgeW91 ciBleGFtcGxlIGludHJvZHVjaW5nIGB8Pj1gIGlzIGxlc3MgcmVhZGFibGUgdGhhbiBgZm9vLmJh ciA9IGIgLyBmb28uYmFyYCwgaWYgc2xpZ2h0bHkgc2hvcnRlciBhbmQgc3Vic3RhbnRpYWxseSBs ZXNzIHJlYWRhYmxlLg0KDQpBIHBpcGVsaW5lIG9wZXJhdG9yLCBpZiBvbmUgaXMgaW50cm9kdWNl ZCB0byBSdWJ5IChhbmQgSSBkb24ndCB0aGluayBSdWJ5IG5lZWRzIG9uZSksIGlzIGEgcmVsYXRp dmVseSBlZmZpY2llbnQgd2F5IG9mIGNhcnJ5aW5nIHRoZSByZXN1bHQgZnJvbSBvbmUgZXhwcmVz c2lvbiBpbnRvIGEgcGFyYW1ldGVyIG9mIHRoZSBuZXh0IGV4cHJlc3Npb24sIGFuZCBpcyAqZ2Vu ZXJhbGx5KiBjb25zaWRlcmVkIGxlc3MgcmVhZGFibGUgd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBm dW5jdGlvbiBpbiB0aGUgcGlwZWxpbmUuIFRoYXQgaXM6DQoNCmBgYGVsaXhpcg0KZm9vIHw+IGJh cigpICMgbGVzcyByZWFkYWJsZQ0KYmFyKGZvbykgIyBtb3JlIHJlYWRhYmxlDQoNCmJheihiYXIo Zm9vKSkgIyBsZXNzIHJlYWRhYmxlDQpmb28NCnw+IGJhcigpDQp8PiBiYXooKSAjIG1vcsSZIHJl YWRhYmxlDQpgYGANCg0KPiBBbm90aGVyIHRoaW5nIEkgdGhpbmsgaXMgd29ydGggY29uc2lkZXJp bmcgaXMgdGhlIGNvbmRpdGlvbmFsICJwaXBlIiBvcGVyYXRvci4gSXQgY291bGQgY29tYmluZSBm ZWF0dXJlcyBvZiB0aGUgInBpcGUiIG9wZXJhdG9yIHdpdGggdGhlIGAmJmAuIExpa2UgInBpcGUi IHdpdGggYXNzaWdubWVudCwgaXQgY291bGQgcHJldmVudCBzZWxmLXJlcGVhdGluZyBpbiBzb21l IGNhc2VzLiBMZXQncyBhc3N1bWUgaXRzIG5vdGF0aW9uIHdvdWxkIGJlIGAmPmA6DQo+IGBgYHJ1 YnkNCj4gZm9vID0gU3RydWN0Lm5ldyg6YmFyKS5uZXcNCj4gIyBQbGVhc2UgYXNzdW1lIHRoZSBj b2RlIGFib3ZlIGlzIGltbXV0YWJsZS4NCj4gDQo+IHYgPSBmb28uYmFyICY+IEludGVnZXIuc3Fy dCBfICAjIE5vIGV4Y2VwdGlvbiBoZXJlIGFzIHJpZ2h0IHNpZGUgaXMgZXZhbHVhdGVkIG9ubHkg aWYgZm9vLmJhciBpcyBub3QgZmFsc2Ugbm9yIG5pbC4NCj4gdiAjID0+IG5pbA0KPiBgYGANCj4N Cj4gSG93IGNhbiBJIHB1dCB0aGlzIG1vcmUgc2ltcGx5Pw0KDQpJIGRvbid0IHNlZSBob3cgdGhh dCBpcyBtb3JlIHJlYWRhYmxlIHRoYW4gYHYgPSBmb28uYmFyICYmIEludGVnZXIuc3FydChmb28u YmFyKWAuIEkgd291bGQgb3Bwb3NlIGAmPmAgcmVnYXJkbGVzcywgYmVjYXVzZSBgfD5gIGlzIG5v dCB0aGUgb3Bwb3NpdGUgaW4gdGhlIHdheSB0aGF0IGAmJmAgYW5kIGB8fGAgYXJlLg0KDQogLS0t DQoNCkFzIEkgc2FpZCwgSSBkb24ndCB0aGluayBSdWJ5IG5lZWRzIGEgcGlwZSBvcGVyYXRvciwg YnV0IEkgd29uZGVyIGlmIGEgKmRpZmZlcmVudCogYXBwcm9hY2ggbWlnaHQgYmUgdGFrZW4uIElu IGlyYiwgYF9gIGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdGhlIHJlc3VsdCBvZiB0aGUgcHJl dmlvdXMgZXhwcmVzc2lvbiAod2VsbCwgZXhwcmVzc2lvbiAqbGluZSo7IGl0IGRvZXNuJ3QgY2Fy cnkgKndpdGhpbiogYW4gZXhwcmVzc2lvbikuIFdoYXQgaWYgdGhhdCB3YXMgZG9uZSBmb3IgUnVi eSBhcyBhIHdob2xlPyBUaGF0IGlzLCBgdiA9IGZvby5iYXIgJiYgSW50ZWdlci5zcXJ0KF8pYCB3 b3VsZCBiZSB0aGUgc2FtZSBhcyBgdiA9IGZvby5iYXIgJiYgSW50ZWdlci5zcXJ0KGZvby5iYXIp YCBiZWNhdXNlIGBfYCB3b3VsZCBiZSB0aGUgdmFsdWUgb2YgYGZvby5iYXJgLg0KDQpTaW1pbGFy bHksIHlvdSBjb3VsZCBnZXQgYSBwaXBlbGluZSBiZWhhdmlvdXIgd2l0aG91dCBhbnkgZXh0cmEg c3ludGF4IGVsZW1lbnRzOg0KDQpgYGBydWJ5DQoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBv cy9ydWJ5L3J1YnkiDQpVUkkucGFyc2UoXykNCk5ldDo6SFRUUC5nZXQoXykNCkpTT04ucGFyc2Uo XykNCl8uZmV0Y2goInN0YXJnYXplcnNfY291bnQiKQ0KcHV0cyAiUnVieSBoYXMgI3tffSBzdGFy cyINCmBgYA0KDQpJdCB3b3VsZCAqc3Vic3RhbnRpYWxseSogY29tcGxpY2F0ZSBwYXJzaW5nIChv bmUgd291bGQgb25seSB3YW50IHRvICJhc3NpZ24iIGBfYCBpZiBhbiBleHByZXNzaW9uICp1c2Vz KiBpdCksIGFuZCByaWdodCBub3cgYF9gIGlzIGEgdmFsaWQgdmFyaWFibGUgbmFtZSAoaWYgdXN1 YWxseSB1c2VkIGZvciBhbiB1bnVzZWQgcGFyYW1ldGVyKS4NCg0KLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA3NzA6IEEgKm5ldyogcGlwZSBvcGVy YXRvciBwcm9wb3NhbA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNzcwI2No YW5nZS0xMTA3OTgNCg0KKiBBdXRob3I6IEFsZXhhbmRyZU1hZ3JvIChBbGV4YW5kcmUgTWFncm8p DQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KSGVsbG8sDQoNClRoaXMgaXMgbXkgZmlyc3QgY29udHJpYnV0aW9uIGhlcmUuIEkgaGF2ZSBz ZWVuIHByZXZpb3VzIGRpc2N1c3Npb25zIGFyb3VuZCBpbnRyb2R1Y2luZyBhIHBpcGUgb3BlcmF0 b3IsIGJ1dCBpdCBzZWVtcyB0aGUgY29tbXVuaXR5IGRpZG4ndCByZWFjaCBhIGNvbnNlbnN1cy4g SSB3b3VsZCBsaWtlIHRvIHJldmlzaXQgdGhpcyBpZGVhIHdpdGggYSBzaW1wbGVyIGFwcHJvYWNo LCBtb3JlIG9mIGEgc3ludGFjdGljIHN1Z2FyIHRoYXQgYWxpZ25zIHdpdGggaG93IG90aGVyIGxh bmd1YWdlcyBpbXBsZW1lbnQgdGhlIHBpcGUgb3BlcmF0b3IsIGJ1dCB3aXRob3V0IG1ha2luZyBz aWduaWZpY2FudCBjaGFuZ2VzIHRvIFJ1YnkncyBzeW50YXguDQoNCkN1cnJlbnRseSwgd2Ugb2Z0 ZW4gd3JpdGUgY29kZSBsaWtlIHRoaXM6DQoNCmBgYHJ1YnkNCnZhbHVlID0gaGFsZihzcXVhcmUo YWRkKHZhbHVlLCAzKSkpDQpgYGANCg0KV2UgY2FuIGFjaGlldmUgdGhlIHNhbWUgcmVzdWx0IHVz aW5nIHRoZSBgdGhlbmAgbWV0aG9kOg0KDQpgYGBydWJ5DQp2YWx1ZSA9IHZhbHVlLnRoZW4geyBh ZGQoXzEsIDMpIH0udGhlbiB7IHNxdWFyZShfMSkgfS50aGVuIHsgaGFsZihfMSkgfQ0KYGBgDQoN CldoaWxlIGB0aGVuYCBoZWxwcyB3aXRoIHJlYWRhYmlsaXR5LCB3ZSBjYW4gc2ltcGxpZnkgaXQg ZnVydGhlciB1c2luZyB0aGUgcHJvcG9zZWQgcGlwZSBvcGVyYXRvcjoNCg0KYGBgcnVieQ0KdmFs dWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShfMSkgfD4gaGFsZihfMSkNCmBgYA0KDQpNb3Jl b3Zlciwgd2l0aCB0aGUgdXBjb21pbmcgYGl0YCBmZWF0dXJlIGluIFJ1YnkgMy40ICgjMTg5ODAp LCB0aGUgY29kZSBjb3VsZCBsb29rIGV2ZW4gY2xlYW5lcjoNCg0KYGBgcnVieQ0KdmFsdWUgPSBh ZGQodmFsdWUsIDMpIHw+IHNxdWFyZShpdCkgfD4gaGFsZihpdCkNCmBgYA0KDQpUaGlzIHByb3Bv c2FsIHVzZXMgdGhlIGFub255bW91cyBibG9jayBhcmd1bWVudCBgKF8xKWAsIGFuZCB3aXRoIGBp dGAsIGl0IHNpbXBsaWZpZXMgdGhlIGNvZGUgd2l0aG91dCBpbnRyb2R1Y2luZyBjb21wbGV4IHN5 bnRheCBjaGFuZ2VzLiBJdCB3b3VsZCBhbGxvdyB1cyB0byBhY2hpZXZlIHRoZSBzYW1lIHJlc3Vs dHMgYXMgaW4gb3RoZXIgbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBwaXBlIG9wZXJhdG9ycywgYnV0 IGluIGEgd2F5IHRoYXQgZmVlbHMgbmF0dXJhbCB0byBSdWJ5LCB1c2luZyBleGlzdGluZyBjb25z dHJ1Y3RzIGxpa2UgYHRoZW5gIHVuZGVybmVhdGguDQoNCkkgYmVsaWV2ZSB0aGlzIG9wZXJhdG9y IHdvdWxkIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5LCBlc3Bl Y2lhbGx5IGluIGNhc2VzIHdoZXJlIG11bHRpcGxlIG9wZXJhdGlvbnMgYXJlIGNoYWluZWQgdG9n ZXRoZXIuDQoNClRoYW5rIHlvdSBmb3IgY29uc2lkZXJpbmcgdGhpcyBwcm9wb3NhbCENCg0KDQoN Cg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAt LSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFp bCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0g aHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5 LWxhbmcub3JnLw==