[ruby-core:116105] [Ruby master Feature#16137] Add === to UnboundMethod

Issue #16137 has been updated by okuramasafumi (Masafumi OKURA). Now that we have had pattern match for a while, I agree with Eregon, we can utilize it more rather than adding new methods. I cannot change its status so I hope someone will do so instead of me. ---------------------------------------- Feature #16137: Add === to UnboundMethod https://bugs.ruby-lang.org/issues/16137#change-106100 * Author: okuramasafumi (Masafumi OKURA) * Status: Open * Priority: Normal ---------------------------------------- # Abstract `UnboundMethod` class should have `=== ` so that it can be used in case statement. # Background `Method` class has `===` method so that we can do something like: ``` ruby require 'prime' case 11 when Prime.method(:prime?) then :prime end ``` However, we cannot do something like this: ```ruby positive = Integer.instance_method(:positive?) case 11 when positive then :positive end ``` # Proposal Add `===` method to `UnboundMethod` class. # Implementation Minimal implementation in Ruby could be: ```ruby class UnboundMethod def ===(other) bind(other).call end end ``` # Summary `===` for `UnboundMethod` can improve readability in case statement. -- https://bugs.ruby-lang.org/
participants (1)
-
okuramasafumi (Masafumi OKURA)