[ruby-core:119863] [Ruby master Feature#20770] A *new* pipe operator proposal
From:
lpogic via ruby-core <ruby-core@...>
Date:
2024-11-09 11:37:04 UTC
List:
ruby-core #119863
SXNzdWUgIzIwNzcwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbHBvZ2ljICjFgXVrYXN6IFBvbWlldMWC bykuDQoNCg0KYXVzdGluIChBdXN0aW4gWmllZ2xlcikgd3JvdGUgaW4gI25vdGUtNDA6DQo+IFJ1 YnkgYWxyZWFkeSAqaGFzKiAgcGlwZWxpbmUtbGlrZSBtZXRob2QsIGAjdGhlbmAuIElmIGB8PmAg b3IgYC57fWAgYWN0cyBhcyBzeW50YWN0aWMgc3VnYXIgZm9yIGAjdGhlbmAsIEkgZG9uJ3Qgc2Vl IGFuIGlzc3VlIGhlcmUuIElmLCBpbnRlcm5hbGx5LCBpdOKAmXMgdHVybmVkIGludG8gdGhlIGVm ZmVjdGl2ZSBlcXVpdmFsZW50IG9mIGBfX3BpcGUxID0gcjsgX19waXBlMiA9IHEoX19waXBlMSk7 IF9fcGlwZTMgPSBwKF9fcGlwZTIpOyBfX3BpcGUzYCwgSSBkb24ndCBzZWUgYW4gaXNzdWUgaGVy ZS4gQnV0IHVuZGVyIG5vIGNpcmN1bXN0YW5jZXMgZG8gSSB0aGluayB0aGF0IHRoZSBlZmZlY3Rp dmUgdGVtcG9yYXJ5IGFzc2lnbm1lbnRzIHNob3VsZCBiZSBleHBvc2VkIG9yIG1hZGUgYXZhaWxh YmxlIHRvIG1ldGhvZCBjYWxscyBmdXJ0aGVyIGRvd24gdGhlIHBpcGVsaW5lIG9yIGFmdGVyIHRo ZSBwaXBlbGluZSBpcyBjb21wbGV0ZS4gVGhhdCdzIHRvbyBtdWNoIG1hZ2ljLg0KDQpDYW4ndCB0 aGUgInw+IiBvcGVyYXRvciBhbHNvIGJlIGNvbnNpZGVyZWQgYSBjb3VzaW4gb2YgIiYmIiwgd2hp Y2ggaXMgdW5jb25kaXRpb25hbCBidXQgcGFzc2VzIHRoZSBMSFMgcmVzdWx0Pw0KYGBgIHJ1YnkN CnAxID0gKHJyID0gcikgfD4gICAgICAgcSggXykgIHw+IHAoIF8sIHJyKQ0KcDIgPSAocnIgPSBy KSAmJiAocXIgPSBxKHJyKSkgJiYgcChxciwgcnIpIA0KcDEgPT0gcDIgIyB0cnVlIGlmIHIoKSwg cSgpLCBwKCkgbmV2ZXIgcmV0dXJuIGZhbHNlL25pbA0KYGBgDQoNCg0KDQoNCg0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVhdHVyZSAjMjA3NzA6IEEgKm5ldyog cGlwZSBvcGVyYXRvciBwcm9wb3NhbA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVz LzIwNzcwI2NoYW5nZS0xMTA1NTMNCg0KKiBBdXRob3I6IEFsZXhhbmRyZU1hZ3JvIChBbGV4YW5k cmUgTWFncm8pDQoqIFN0YXR1czogT3Blbg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KSGVsbG8sDQoNClRoaXMgaXMgbXkgZmlyc3QgY29udHJpYnV0aW9uIGhlcmUu IEkgaGF2ZSBzZWVuIHByZXZpb3VzIGRpc2N1c3Npb25zIGFyb3VuZCBpbnRyb2R1Y2luZyBhIHBp cGUgb3BlcmF0b3IsIGJ1dCBpdCBzZWVtcyB0aGUgY29tbXVuaXR5IGRpZG4ndCByZWFjaCBhIGNv bnNlbnN1cy4gSSB3b3VsZCBsaWtlIHRvIHJldmlzaXQgdGhpcyBpZGVhIHdpdGggYSBzaW1wbGVy IGFwcHJvYWNoLCBtb3JlIG9mIGEgc3ludGFjdGljIHN1Z2FyIHRoYXQgYWxpZ25zIHdpdGggaG93 IG90aGVyIGxhbmd1YWdlcyBpbXBsZW1lbnQgdGhlIHBpcGUgb3BlcmF0b3IsIGJ1dCB3aXRob3V0 IG1ha2luZyBzaWduaWZpY2FudCBjaGFuZ2VzIHRvIFJ1YnkncyBzeW50YXguDQoNCkN1cnJlbnRs eSwgd2Ugb2Z0ZW4gd3JpdGUgY29kZSBsaWtlIHRoaXM6DQoNCmBgYHJ1YnkNCnZhbHVlID0gaGFs ZihzcXVhcmUoYWRkKHZhbHVlLCAzKSkpDQpgYGANCg0KV2UgY2FuIGFjaGlldmUgdGhlIHNhbWUg cmVzdWx0IHVzaW5nIHRoZSBgdGhlbmAgbWV0aG9kOg0KDQpgYGBydWJ5DQp2YWx1ZSA9IHZhbHVl LnRoZW4geyBhZGQoXzEsIDMpIH0udGhlbiB7IHNxdWFyZShfMSkgfS50aGVuIHsgaGFsZihfMSkg fQ0KYGBgDQoNCldoaWxlIGB0aGVuYCBoZWxwcyB3aXRoIHJlYWRhYmlsaXR5LCB3ZSBjYW4gc2lt cGxpZnkgaXQgZnVydGhlciB1c2luZyB0aGUgcHJvcG9zZWQgcGlwZSBvcGVyYXRvcjoNCg0KYGBg cnVieQ0KdmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShfMSkgfD4gaGFsZihfMSkNCmBg YA0KDQpNb3Jlb3Zlciwgd2l0aCB0aGUgdXBjb21pbmcgYGl0YCBmZWF0dXJlIGluIFJ1YnkgMy40 ICgjMTg5ODApLCB0aGUgY29kZSBjb3VsZCBsb29rIGV2ZW4gY2xlYW5lcjoNCg0KYGBgcnVieQ0K dmFsdWUgPSBhZGQodmFsdWUsIDMpIHw+IHNxdWFyZShpdCkgfD4gaGFsZihpdCkNCmBgYA0KDQpU aGlzIHByb3Bvc2FsIHVzZXMgdGhlIGFub255bW91cyBibG9jayBhcmd1bWVudCBgKF8xKWAsIGFu ZCB3aXRoIGBpdGAsIGl0IHNpbXBsaWZpZXMgdGhlIGNvZGUgd2l0aG91dCBpbnRyb2R1Y2luZyBj b21wbGV4IHN5bnRheCBjaGFuZ2VzLiBJdCB3b3VsZCBhbGxvdyB1cyB0byBhY2hpZXZlIHRoZSBz YW1lIHJlc3VsdHMgYXMgaW4gb3RoZXIgbGFuZ3VhZ2VzIHRoYXQgc3VwcG9ydCBwaXBlIG9wZXJh dG9ycywgYnV0IGluIGEgd2F5IHRoYXQgZmVlbHMgbmF0dXJhbCB0byBSdWJ5LCB1c2luZyBleGlz dGluZyBjb25zdHJ1Y3RzIGxpa2UgYHRoZW5gIHVuZGVybmVhdGguDQoNCkkgYmVsaWV2ZSB0aGlz IG9wZXJhdG9yIHdvdWxkIGVuaGFuY2UgY29kZSByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmls aXR5LCBlc3BlY2lhbGx5IGluIGNhc2VzIHdoZXJlIG11bHRpcGxlIG9wZXJhdGlvbnMgYXJlIGNo YWluZWQgdG9nZXRoZXIuDQoNClRoYW5rIHlvdSBmb3IgY29uc2lkZXJpbmcgdGhpcyBwcm9wb3Nh bCENCg0KDQoNCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQogX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogcnVieS1jb3JlIG1haWxp bmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwogVG8gdW5zdWJzY3JpYmUgc2Vu ZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1sYW5nLm9yZwogcnVieS1jb3Jl IGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxtYW4zL2xpc3RzL3J1YnktY29y ZS5tbC5ydWJ5LWxhbmcub3JnLw==