[#54738] [ruby-trunk - Bug #8358][Open] TestSprintf#test_float test failuer on mingw32 — "phasis68 (Heesob Park)" <phasis@...>

36 messages 2013/05/02

[#54749] [ruby-trunk - Feature #8361][Open] Alternative syntax for block parameter — "alexeymuranov (Alexey Muranov)" <redmine@...>

12 messages 2013/05/02

[#54798] [ruby-trunk - Bug #8370][Open] Constants MAX_MULTIPART_LENGTH in cgi\core.rb — "xibbar (Takeyuki FUJIOKA)" <xibbar@...>

17 messages 2013/05/05

[#54850] [ruby-trunk - Feature #8377][Open] Deprecate :: for method calls in 2.1 — "charliesome (Charlie Somerville)" <charliesome@...>

27 messages 2013/05/07

[#54881] [ruby-trunk - Bug #8384][Open] Cannot build ruby against OpenSSL build with "no-ec2m" — "vo.x (Vit Ondruch)" <v.ondruch@...>

16 messages 2013/05/09

[#54921] [ruby-trunk - Bug #8393][Open] A class who's parent class is in a module can go wrong if files are required in the wrong order — "eLobato (Daniel Lobato Garcia)" <elobatocs@...>

15 messages 2013/05/12

[#54939] [ruby-trunk - Bug #8399][Open] Remove usage of RARRAY_PTR in C extensions when not needed — "dbussink (Dirkjan Bussink)" <d.bussink@...>

32 messages 2013/05/12

[#55053] [ruby-trunk - Feature #8426][Open] Implement class hierarchy method caching — "charliesome (Charlie Somerville)" <charliesome@...>

21 messages 2013/05/19

[#55096] [ruby-trunk - Feature #8430][Open] Rational number literal — "mrkn (Kenta Murata)" <muraken@...>

28 messages 2013/05/21

[#55197] [ruby-trunk - Feature #8461][Open] Easy way to disable certificate checking in XMLRPC::Client — "herwinw (Herwin Weststrate)" <herwin@...>

11 messages 2013/05/29

[ruby-core:54930] [ruby-trunk - Feature #8396] Allow easier destructuring of MatchData

From: "matz (Yukihiro Matsumoto)" <matz@...>
Date: 2013-05-12 14:54:02 UTC
List: ruby-core #54930
Issue #8396 has been updated by matz (Yukihiro Matsumoto).


I like the basic idea, but #to_ary is a method to convert into array implicitly, that means it expect the receiver provides array behavior.  MatchObject does not behave like Array.
Maybe we should add another implicit conversion method for right hand side of multiple assignment.

Matz.

----------------------------------------
Feature #8396: Allow easier destructuring of MatchData
https://bugs.ruby-lang.org/issues/8396#change-39274

Author: goshakkk (Gosha Arinich)
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


=begin

((*(I have opened ((<"a PR for this on GH @ rails/rails"|URL:https://github.com/ruby/ruby/pull/300>)) for this but @marcandre closed it and suggested I submit it here. I'll copy my proposal text here.)*))

Currently, you can get something out of (({MatchData})) like this:

 m = "2_apples".match /(\d+)_(apple|orange)s?/
 count, thing = m[1], m[2]
 # or
 _, count, thing = "2_apples".match(/(\d+)_(apple|orange)s?/).to_a
 # or
 count, thing = "2_apples".match(/(\d+)_(apple|orange)s?/).captures
 # or, as @marcandre suggested, you can use splat operator
 _, count, thing = * "2_apples".match /(\d+)_(apple|orange)s?/

However, this extra (({#to_a})) or (({#captures})) (or splat) that you have to add makes things slightly more verbose.

With this PR, it would be possible to do the following:

 count, thing = "2_apples".match /(\d+)_(apple|orange)s?/

Which looks a bit cleaner and nicer. So what do you think?

=end


-- 
http://bugs.ruby-lang.org/

In This Thread