[ruby-core:122513] [Ruby Feature#21435] Kernel#optional as a conditional #then
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2025-06-11 09:38:09 UTC
List:
ruby-core #122513
SXNzdWUgIzIxNDM1IGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQpUbyBiZSBob25lc3QsIHdoZW4gSSBzZWUgYSBjb2RlIGZyYWdtZW50IGxpa2UgYC5vcHRpb25h bCB7IGl0LmRlY29yYXRlIGlmIGl0LnJlc3BvbmRfdG8/IDpkZWNvcmF0ZSB9YCwgSSBjb3VsZG4n dCB1bmRlcnN0YW5kIHRoZSBpbnRlbmRlZCBiZWhhdmlvciBhdCBhbGwuIFBlcnNvbmFsbHksIEkg ZmVlbCB0aGF0IHRoaXMgYWN0dWFsbHkgaW5jcmVhc2VzIGNvZ25pdGl2ZSBjb21wbGV4aXR5IHJh dGhlciB0aGFuIHJlZHVjaW5nIGl0Lg0KDQpJdCdzIG5vdCBqdXN0IHRoYXQgdGhlIG1ldGhvZCBu YW1lIGBvcHRpb25hbGAgZmVlbHMgaW5hcHByb3ByaWF0ZS4gSSB0aGluayB0aGUgZXhpc3RlbmNl IG9mIGEgbWV0aG9kIHdpdGggc3VjaCB0cmlja3kgYmVoYXZpb3IgaXRzZWxmIGFkZHMgdG8gY29n bml0aXZlIGNvbXBsZXhpdHkuDQoNCkluIHRlcm1zIG9mIGNvZ25pdGl2ZSBjb21wbGV4aXR5LCBJ IGZpbmQgaXQgbXVjaCBlYXNpZXIgdG8gdW5kZXJzdGFuZCB3aGVuIHRoZSBsb2dpYyBpcyB3cml0 dGVuIG91dCBleHBsaWNpdGx5LCBldmVuIGlmIGl0J3MgbW9yZSB2ZXJib3NlLCBsaWtlIHRoaXM6 DQoNCmBgYHJ1YnkNCkByZWNvcmQgPSBSZWNvcmQuZmluZChyZWNvcmRfaWQpDQpAcmVjb3JkID0g QHJlY29yZC5kZWNvcmF0ZSBpZiBAcmVjb3JkLnJlc3BvbmRfdG8/KDpkZWNvcmF0ZSkNCmBgYA0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMTQz NTogS2VybmVsI29wdGlvbmFsIGFzIGEgY29uZGl0aW9uYWwgI3RoZW4NCmh0dHBzOi8vYnVncy5y dWJ5LWxhbmcub3JnL2lzc3Vlcy8yMTQzNSNjaGFuZ2UtMTEzNzM2DQoNCiogQXV0aG9yOiBBbGV4 YW5kZXIuU2Vua28gKEFsZXhhbmRlciBTZW5rbykNCiogU3RhdHVzOiBPcGVuDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpXaGVuIGNoYWluaW5nLCBJIG5lZWQgc29t ZXRpbWVzIHRvIGFwcGx5IHNvbWUgY2hhbmdlcyBjb25kaXRpb25hbGx5LCBsaWtlIHRoaXM6DQpg YGBydWJ5DQpAcmVjb3JkID0gUmVjb3JkLmZpbmQocmVjb3JkX2lkKQ0KICAudGhlbiB7IGl0LnJl c3BvbmRfdG8/KDpkZWNvcmF0ZSkgPyBpdC5kZWNvcmF0ZSA6IGl0IH0NCmBgYA0KDQpJdCB3b3Vs ZCBiZSBncmVhdCB0byBEUlkgaXQgYSBiaXQ6DQpgYGBydWJ5DQpAcmVjb3JkID0gUmVjb3JkLmZp bmQocmVjb3JkX2lkKQ0KICAub3B0aW9uYWwgeyBpdC5kZWNvcmF0ZSBpZiBpdC5yZXNwb25kX3Rv PyA6ZGVjb3JhdGUgfQ0KYGBgDQoNClJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbjoNCmBgYHJ1YnkN CiMgWWllbGRzIHNlbGYgdG8gdGhlIGJsb2NrIGFuZCByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhl IGJsb2NrIGlmIGl04oCZcw0KIyB0cnV0aHksIGFuZCBzZWxmIG90aGVyd2lzZS4NCmRlZiBvcHRp b25hbA0KICB0YXAgZG8NCiAgICByZXN1bHQgPSB5aWVsZChzZWxmKSBvciBuZXh0DQoNCiAgICBi cmVhayByZXN1bHQNCiAgZW5kDQplbmQNCmBgYA0KDQpUaGUgbmFtZSBpcyBkaXNjdXNzaWJsZS4N Cg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0t IHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWls IHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBo dHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1Ynkt bGFuZy5vcmcvCg==