
Issue #21190 has been reported by aristotelesbr (Aristóteles Costa). ---------------------------------------- Feature #21190: Proposal for the Deconstruct Method in the MatchData Class https://bugs.ruby-lang.org/issues/21190 * Author: aristotelesbr (Aristóteles Costa) * Status: Open ---------------------------------------- ## Context: The MatchData class currently lacks the deconstruct method, which is necessary for extracting values from a string using pattern matching in Ruby. ## Current Extraction Method Currently, extraction can be done as follows: ```rb result = /(\d{2})(\d{2})(\d{9})/.match("5586987654321") puts result[1] # => "55" puts result[2] # => "86" puts result[3] # => "987654321" ``` ## Proposed Solution: Implement the deconstruct method in the MatchData class to allow conversion of the MatchData object into an array, enabling deconstruction of its components. ```rb class MatchData def deconstruct self.to_a end end result = /(\d{2})(\d{2})(\d{9})/.match("5586987654321") result in [_ , country_code, area_code, number] puts country_code # => "55" puts area_code # => "86" puts number # => "987654321" ``` -- https://bugs.ruby-lang.org/