[ruby-core:119858] [Ruby master Feature#20770] A *new* pipe operator proposal
From:
"austin (Austin Ziegler) via ruby-core" <ruby-core@...>
Date:
2024-11-09 02:54:03 UTC
List:
ruby-core #119858
SXNzdWUgIzIwNzcwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgYXVzdGluIChBdXN0aW4gWmllZ2xlciku DQoNCg0KbHBvZ2ljICjFgXVrYXN6IFBvbWlldMWCbykgd3JvdGUgaW4gI25vdGUtMzk6DQo+IEBh dXN0aW4sIEBBbGV4YW5kcmVNYWdybyBJIHVuZGVyc3RhbmQgdGhhdCB0aGlzIGlzIGEgY3JlYXR1 cmUgZnJvbSB0aGUgZnVuY3Rpb25hbCB3b3JsZC4gSG93ZXZlciwgSSB3b25kZXIgd2hldGhlciB0 aGUgY3VycmVudCBwcm9wb3NhbCAoc3RhdGVtZW50IG9wZXJhdG9yKSB3b3VsZCBhbGxvdyBmb3Ig c3VjaCBhIGZvcm1zOg0KPiBgYGAgcnVieQ0KPiBkZWYgZm9vDQo+ICAgciB8PiAocV9yZXN1bHQg PSBxKF8pKSB8PiBwKF8pDQo+ICAgcmV0dXJuIHFfcmVzdWx0DQo+IGVuZA0KPiAjIG9yDQo+IGRl ZiBmb28NCj4gICByIHw+IHFfcmVzdWx0ID0gcShfKSB8PiBwKF8pDQo+ICAgcmV0dXJuIHFfcmVz dWx0DQo+IGVuZA0KPiANCj4gZGVmIGJhcg0KPiAgIChyX3Jlc3VsdCA9IHIpIHw+IHEoXykgfD4g cChfLCByX3Jlc3VsdCkNCj4gZW5kDQo+IGBgYA0KDQpNeSBvcHBvc2l0aW9uIHRvIHRoaXMgY29u Y2VwdCBpbiAjbm90ZS0zNyBzdGFuZHMgZm9yIHRoZSBzYW1lIHJlYXNvbnMuIFRoaXMgaXMgdW5y ZWFkYWJsZSBhbmQgaGFzIGluZGV0ZXJtaW5hdGUgc2NvcGUuDQoNCkEgcGlwZWxpbmUgb3BlcmF0 b3IgaXMgYmVzdCB1c2VkIGZvciBwYXNzaW5nIHRoZSBmaXJzdCBwYXJhbWV0ZXIgKGxpa2UgRWxp eGlyKSwgdGhlIGxhc3QgcGFyYW1ldGVyIChzb21lIEphdmFTY3JpcHQgYC5waXBlKOKApilgIGlt cGxlbWVudGF0aW9uczsgR28gdGV4dCB0ZW1wbGF0ZXMpLCBvciBhbiBhcmJpdHJhcnkgcGFyYW1l dGVyIHdpdGggYW4gZXhwbGljaXQgbWFya2VyIChgaXRgLCBgX2AsIGBfMWAsIGV0Yy4pLg0KDQpS dWJ5IGFscmVhZHkgKmhhcyogIHBpcGVsaW5lLWxpa2UgbWV0aG9kLCBgI3RoZW5gLiBJZiBgfD5g IG9yIGAue31gIGFjdHMgYXMgc3ludGFjdGljIHN1Z2FyIGZvciBgI3RoZW5gLCBJIGRvbid0IHNl ZSBhbiBpc3N1ZSBoZXJlLiBJZiwgaW50ZXJuYWxseSwgaXTigJlzIHR1cm5lZCBpbnRvIHRoZSBl ZmZlY3RpdmUgZXF1aXZhbGVudCBvZiBgX19waXBlMSA9IHI7IF9fcGlwZTIgPSBxKF9fcGlwZTEp OyBfX3BpcGUzID0gcChfX3BpcGUyKTsgX19waXBlM2AsIEkgZG9uJ3Qgc2VlIGFuIGlzc3VlIGhl cmUuIEJ1dCB1bmRlciBubyBjaXJjdW1zdGFuY2VzIGRvIEkgdGhpbmsgdGhhdCB0aGUgZWZmZWN0 aXZlIHRlbXBvcmFyeSBhc3NpZ25tZW50cyBzaG91bGQgYmUgZXhwb3NlZCBvciBtYWRlIGF2YWls YWJsZSB0byBtZXRob2QgY2FsbHMgZnVydGhlciBkb3duIHRoZSBwaXBlbGluZSBvciBhZnRlciB0 aGUgcGlwZWxpbmUgaXMgY29tcGxldGUuIFRoYXQncyB0b28gbXVjaCBtYWdpYy4NCg0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA3NzA6IEEgKm5l dyogcGlwZSBvcGVyYXRvciBwcm9wb3NhbA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNz dWVzLzIwNzcwI2NoYW5nZS0xMTA1NDgNCg0KKiBBdXRob3I6IEFsZXhhbmRyZU1hZ3JvIChBbGV4 YW5kcmUgTWFncm8pDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KSGVsbG8sDQoNClRoaXMgaXMgbXkgZmlyc3QgY29udHJpYnV0aW9uIGhl cmUuIEkgaGF2ZSBzZWVuIHByZXZpb3VzIGRpc2N1c3Npb25zIGFyb3VuZCBpbnRyb2R1Y2luZyBh IHBpcGUgb3BlcmF0b3IsIGJ1dCBpdCBzZWVtcyB0aGUgY29tbXVuaXR5IGRpZG4ndCByZWFjaCBh IGNvbnNlbnN1cy4gSSB3b3VsZCBsaWtlIHRvIHJldmlzaXQgdGhpcyBpZGVhIHdpdGggYSBzaW1w bGVyIGFwcHJvYWNoLCBtb3JlIG9mIGEgc3ludGFjdGljIHN1Z2FyIHRoYXQgYWxpZ25zIHdpdGgg aG93IG90aGVyIGxhbmd1YWdlcyBpbXBsZW1lbnQgdGhlIHBpcGUgb3BlcmF0b3IsIGJ1dCB3aXRo b3V0IG1ha2luZyBzaWduaWZpY2FudCBjaGFuZ2VzIHRvIFJ1YnkncyBzeW50YXguDQoNCkN1cnJl bnRseSwgd2Ugb2Z0ZW4gd3JpdGUgY29kZSBsaWtlIHRoaXM6DQoNCmBgYHJ1YnkNCnZhbHVlID0g aGFsZihzcXVhcmUoYWRkKHZhbHVlLCAzKSkpDQpgYGANCg0KV2UgY2FuIGFjaGlldmUgdGhlIHNh bWUgcmVzdWx0IHVzaW5nIHRoZSBgdGhlbmAgbWV0aG9kOg0KDQpgYGBydWJ5DQp2YWx1ZSA9IHZh bHVlLnRoZW4geyBhZGQoXzEsIDMpIH0udGhlbiB7IHNxdWFyZShfMSkgfS50aGVuIHsgaGFsZihf MSkgfQ0KYGBgDQoNCldoaWxlIGB0aGVuYCBoZWxwcyB3aXRoIHJlYWRhYmlsaXR5LCB3ZSBjYW4g c2ltcGxpZnkgaXQgZnVydGhlciB1c2luZyB0aGUgcHJvcG9zZWQgcGlwZSBvcGVyYXRvcjoNCg0K YGBgcnVieQ0KdmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShfMSkgfD4gaGFsZihfMSkN CmBgYA0KDQpNb3Jlb3Zlciwgd2l0aCB0aGUgdXBjb21pbmcgYGl0YCBmZWF0dXJlIGluIFJ1Ynkg My40ICgjMTg5ODApLCB0aGUgY29kZSBjb3VsZCBsb29rIGV2ZW4gY2xlYW5lcjoNCg0KYGBgcnVi eQ0KdmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShpdCkgfD4gaGFsZihpdCkNCmBgYA0K DQpUaGlzIHByb3Bvc2FsIHVzZXMgdGhlIGFub255bW91cyBibG9jayBhcmd1bWVudCBgKF8xKWAs IGFuZCB3aXRoIGBpdGAsIGl0IHNpbXBsaWZpZXMgdGhlIGNvZGUgd2l0aG91dCBpbnRyb2R1Y2lu ZyBjb21wbGV4IHN5bnRheCBjaGFuZ2VzLiBJdCB3b3VsZCBhbGxvdyB1cyB0byBhY2hpZXZlIHRo ZSBzYW1lIHJlc3VsdHMgYXMgaW4gb3RoZXIgbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBwaXBlIG9w ZXJhdG9ycywgYnV0IGluIGEgd2F5IHRoYXQgZmVlbHMgbmF0dXJhbCB0byBSdWJ5LCB1c2luZyBl eGlzdGluZyBjb25zdHJ1Y3RzIGxpa2UgYHRoZW5gIHVuZGVybmVhdGguDQoNCkkgYmVsaWV2ZSB0 aGlzIG9wZXJhdG9yIHdvdWxkIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5h YmlsaXR5LCBlc3BlY2lhbGx5IGluIGNhc2VzIHdoZXJlIG11bHRpcGxlIG9wZXJhdGlvbnMgYXJl IGNoYWluZWQgdG9nZXRoZXIuDQoNClRoYW5rIHlvdSBmb3IgY29uc2lkZXJpbmcgdGhpcyBwcm9w b3NhbCENCg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1h aWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUg c2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1j b3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1Ynkt Y29yZS5tbC5ydWJ5LWxhbmcub3JnLw==