From: masafumi.o1988@... Date: 2019-09-03T12:28:54+00:00 Subject: [ruby-core:94758] [Ruby master Feature#16137] Add === to UnboundMethod Issue #16137 has been reported by okuramasafumi (Masafumi OKURA). ---------------------------------------- Feature #16137: Add === to UnboundMethod https://bugs.ruby-lang.org/issues/16137 * Author: okuramasafumi (Masafumi OKURA) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- # 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/ Unsubscribe: