[ruby-core:109497] [Ruby master Feature#17330] Object#non
From:
"mame (Yusuke Endoh)" <noreply@...>
Date:
2022-08-16 15:02:21 UTC
List:
ruby-core #109497
SXNzdWUgIzE3MzMwIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4KCgpg YGAKcGFyYW1zWzpuYW1lXSYubm9uKCY6ZW1wdHk/KQpgYGAKCkZyYW5rbHkgc3BlYWtpbmcsIHRo aXMgYWJvdmUgaXMgZGVhZCBoYXJkIHRvIHJlYWQgYW5kIHdyaXRlIGZvciBtZS4gRG8geW91IGFs bCByZWFsbHkgd2FudCB0aGlzPwoKYGBgCnJldHVybiBGYXJhZGF5LmdldCh1cmwpLm5vbiB7IHxy fCByLmNvZGUgPj0gNDAwIH0mLmJvZHkKYGBgCgpUaGlzIGlzIGNvbmZ1c2luZyB0byBtZSB3aGV0 aGVyIHRvIHJldHVybiBhIGJvZHkgd2hlbiBgci5jb2RlID49IDQwMGAgb3Igd2hlbiBgci5jb2Rl IDwgNDAwYC4KCmBgYApyID0gRmFyYWRheS5nZXQodXJsKQpyZXR1cm4gci5jb2RlIDwgNDAwID8g ci5ib2R5IDogbmlsCmBgYAoKSSBiZWxpZXZlIHRoaXMgcGxhaW4gb2xkIHN0eWxlIGlzIG11Y2gg Y2xlYXJlci4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KRmVhdHVy ZSAjMTczMzA6IE9iamVjdCNub24KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE3 MzMwI2NoYW5nZS05ODY2NQoKKiBBdXRob3I6IHp2ZXJvayAoVmljdG9yIFNoZXBlbGV2KQoqIFN0 YXR1czogT3BlbgoqIFByaW9yaXR5OiBOb3JtYWwKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQooQXMgYWx3YXlzICJ3aXRoIGNvcmUiIG1ldGhvZCBwcm9wb3NhbHMsIEkg ZG9uJ3QgZXhwZWN0IHF1aWNrIHN1Y2Nlc3MsIGJ1dCBob3BlIGZvciBhIGZydWl0ZnVsIGRpc2N1 c3Npb24pCgojIyMgUmVhc29uczoKClJ1YnkgYWx3YXlzIHRyaWVkIHRvIGJlIHZlcnkgY2hhaW5h YmlsaXR5LWZyaWVuZGx5LiBSZWNlbnRseSwgd2l0aCBpbnRyb2R1Y3Rpb24gb2YgYC50aGVuYCBh bmQgYD0+YCwgZXZlbiBtb3JlIHNvLiBCdXQgb25lIHBhdHRlcm4gdGhhdCBmcmVxdWVudGx5IGVt ZXJnZXMgYW5kIGRvZXNuJ3QgaGF2ZSBnb29kIGlkaW9tYXRpYyBleHByZXNzaW9uOiBjYWxjdWxh dGUgc29tZXRoaW5nLCBhbmQgaWYgaXQgaXMgbm90IGEgImdvb2QiIHZhbHVlLCByZXR1cm4gYG5p bGAgKG9yIHByb3ZpZGUgZGVmYXVsdCB2YWx1ZSB3aXRoIGB8fGApLiBUaGVyZSBhcmUgY3VycmVu dGx5IHR3byBwYXJ0aWFsIHNvbHV0aW9uczoKCjEuIGBub256ZXJvP2AgaW4gUnVieSBjb3JlIChm cmVxdWVudGx5IG1vY2tlZCBmb3IgImluYWRlcXVhdGUiIGJlaGF2aW9yLCBhcyBpdCBpcyBsb29r aW5nIGxpa2UgcHJlZGljYXRlIG1ldGhvZCwgYnV0IGluc3RlYWQgb2YgYHRydWVgL2BmYWxzZWAg cmV0dXJucyBhbiBvcmlnaW5hbCB2YWx1ZSBvciBgbmlsYCkKMi4gQWN0aXZlU3VwcG9ydCBgT2Jq ZWN0I3ByZXNlbmNlYCwgd2hpY2ggYWxzbyByZXR1cm5zIGFuIG9yaWdpbmFsIHZhbHVlIG9yIGBu aWxgIGlmIGl0IGlzIG5vdCAicHJlc2VudCIgKGUuZy4gYG5pbGAgb3IgYGVtcHR5P2AgaW4gQVMt c3BlYWspCgpCb3RoIG9mIHRoZW0gcHJvdmUgdGhlbXNlbHZlcyBxdWl0ZSB1c2VmdWwgaW4gc29t ZSBkb21haW5zLCBidXQgdGhleSBhcmUgdGFyZ2V0aW5nIG9ubHkgdGhvc2UgcGFydGljdWxhciBk b21haW5zLCBsb29rIHVubGlrZSBlYWNoIG90aGVyLCBhbmQgY2FuIGJlIGNvbmZ1c2luZy4KCiMj IyBQcm9wb3NhbDoKCk1ldGhvZCBgT2JqZWN0I25vbmAgKG9yIGBLZXJuZWwjbm9uYCksIHdoaWNo IHJlY2VpdmVzIGEgYmxvY2ssIGNhbGxzIGl0IHdpdGggcmVjZWl2ZXIgYW5kIHJldHVybnMgYG5p bGAgKGlmIGJsb2NrIG1hdGNoZWQpIG9yIHJlY2VpdmVyIG90aGVyd2lzZS4KCiMjIyMjIFByb3Rv dHlwZSBpbXBsZW1lbnRhdGlvbjoKCmBgYHJ1YnkKY2xhc3MgT2JqZWN0CiAgZGVmIG5vbgogICAg c2VsZiB1bmxlc3MgeWllbGQoc2VsZikKICBlbmQKZW5kCmBgYAoKIyMjIyMgVXNhZ2UgZXhhbXBs ZXM6CgoxLiBXaXRoIG51bWJlcjoKCiAgICBgYGBydWJ5CiAgICBsaW1pdCA9IGNhbGN1bGF0ZS5z b21lLmxpbWl0CiAgICBsaW1pdC56ZXJvPyA/IERFRkFVTFRfTElNSVQgOiBsaW1pdAogICAgIyBv ciwgd2l0aCBub256ZXJvPwogICAgY2FsY3VsYXRlLnNvbWUubGltaXQubm9uemVybz8gfHwgREVG QVVMVF9MSU1JVAogICAgIyB3aXRoIG5vbjoKICAgIGNhbGN1bGF0ZS5zb21lLmxpbWl0Lm5vbigm Onplcm8/KSB8fCBERUZBVUxUX0xJTUlUCiAgICAjIF4gTm90ZSBoZXJlLCBob3csIHVubGlrZSBg bm9uemVybz9gLCB3ZSBzZWUgcHJlZGljYXRlLXkgPywgYnV0IGl0IGlzIElOU0lERSB0aGUgYG5v bigpYCBhbmQgbGVzcyBjb25mdXNpbmcKICAgIGBgYAoKMi4gV2l0aCBzdHJpbmc6CgogICAgYGBg cnVieQogICAgbmFtZSA9IHBhcmFtc1s6bmFtZV0gaWYgcGFyYW1zWzpuYW1lXSAmJiAhcGFyYW1z WzpuYW1lXS5lbXB0eT8KICAgICMgb3IsIHdpdGggQWN0aXZlU3VwcG9ydDoKICAgIG5hbWUgPSBw YXJhbXNbOm5hbWVdLnByZXNlbmNlCiAgICAjIHdpdGggbm9uOgogICAgbmFtZSA9IHBhcmFtc1s6 bmFtZV0mLm5vbigmOmVtcHR5PykKICAgIGBgYAoKMy4gTW9yZSBjb21wbGljYXRlZCBleGFtcGxl CgogICAgYGBgcnVieQogICAgYWN0aW9uID0gcGF5bG9hZC5kaWcoJ2FjdGlvbicsICd0eXBlJykK ICAgIHJldHVybiBpZiBQUk9ISUJJVEVEX0FDVElPTlMuaW5jbHVkZT8oYWN0aW9uKQogICAgc2Vu ZCgiZG9fI3thY3Rpb259IikKICAgICMgd2l0aCBub24gJiB0aGVuOgogICAgcGF5bG9hZC5kaWco J2FjdGlvbicsICd0eXBlJykKICAgICAgLm5vbiB7IHxhY3Rpb258IFBST0hJQklURURfQUNUSU9O Uy5pbmNsdWRlPyhhY3Rpb24pIH0KICAgICAgJi50aGVuIHsgfGFjdGlvbnwgc2VuZCgiZG9fI3th Y3Rpb259IikgfQogICAgYGBgCgpCYXNpY2FsbHksIHRoZSBwcm9wb3NhbCBpcyBhICJjaGFpbmFi bGUgZ3VhcmQgY2xhdXNlIiB0aGF0IGFsbG93cyB0byAiY2hhaW4iaWZ5IGFuZCBEUllpZnkgY29k ZSBsaWtlOgoKYGBgcnVieQp2YWx1ZSA9IGZldGNoX3NvbWV0aGluZwpyZXR1cm4gdmFsdWUgdW5s ZXNzIHZhbHVlLndpdGhfcHJvYmxlbXM/CiMgd2hpY2ggdHVybnMgaW50bwpmZXRjaF9zb21ldGhp bmcubm9uKCY6d2l0aF9wcm9ibGVtcz8pCgojIG9yCnZhbHVlID0gZmV0Y2hfc29tZXRoaW5nCnZh bHVlID0gcmVhc29uYWJsZV9kZWZhdWx0IGlmIHZhbHVlLndpdGhfcHJvYmxlbXM/CiMgdHVybnMg aW50bwp2YWx1ZSA9IGZldGNoX3NvbWV0aGluZy5ub24oJjp3aXRoX3Byb2JsZW1zPykgfHwgcmVh c29uYWJsZV9kZWZhdWx0CmBgYAoKSSBiZWxpZXZlIHRoYXQgdGhpcyBpZGlvbSBpcyBmcmVxdWVu dCBlbm91Z2gsIGluIGNvbWJpbmF0aW9ucyBsaWtlIChhc3NvcnRlZCBleGFtcGxlcykgInJlYWQg Y29uZmlnIGZpbGUgYnV0IHJldHVybiBgbmlsYCBpZiBpdCBpcyBlbXB0eS93cm9uZyB2ZXJzaW9u IiwgImZldGNoIGxhdGVzdCBpbnZvaWNlLCBidXQgaWdub3JlIGlmIGl0IGhhcyBhbiBgdW5wYXlh YmxlYCBmbGFnIiwgImZldGNoIGEgbGlzdCBvZiBsYXN0IHVzZXIncyBzZWFyY2hlcywgYnV0IGlm IGl0IGlzIGVtcHR5LCBwcm92aWRlIGRlZmF1bHQgc2VhcmNoIGhpbnRzIiBldGMuCgpJIGJlbGll dmUgdGhlcmUgX2lzXyB1biB1bnJlZmxlY3RlZCBuZWVkIGZvciBpZGlvbSBsaWtlIHRoaXMsIHRo ZSBuZWVkIHRoYXQgaXMgZGVtb25zdHJhdGVkIGJ5IHRoZSBleGlzdGVuY2Ugb2YgYG5vbnplcm8/ YCBhbmQgYHByZXNlbmNlYC4KCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLwoKVW5z dWJzY3JpYmU6IDxtYWlsdG86cnVieS1jb3JlLXJlcXVlc3RAcnVieS1sYW5nLm9yZz9zdWJqZWN0 PXVuc3Vic2NyaWJlPgo8aHR0cDovL2xpc3RzLnJ1YnktbGFuZy5vcmcvY2dpLWJpbi9tYWlsbWFu L29wdGlvbnMvcnVieS1jb3JlPgo=