[#66678] [ruby-trunk - Feature #10481] Add "if" and "unless" clauses to rescue statements — alex@...
Issue #10481 has been updated by Alex Boyd.
3 messages
2014/12/04
[#66762] Re: [ruby-changes:36667] normal:r48748 (trunk): struct: avoid all O(n) behavior on access — Tanaka Akira <akr@...>
2014-12-10 0:44 GMT+09:00 normal <ko1@atdot.net>:
3 messages
2014/12/10
[#66851] [ruby-trunk - Feature #10585] struct: speedup struct.attr = v for first 10 attributes and struct[:attr] for big structs — funny.falcon@...
Issue #10585 has been updated by Yura Sokolov.
3 messages
2014/12/15
[#67126] Ruby 2.2.0 Released — "NARUSE, Yui" <naruse@...>
We are pleased to announce the release of Ruby 2.2.0.
8 messages
2014/12/25
[#67128] Re: Ruby 2.2.0 Released
— Rodrigo Rosenfeld Rosas <rr.rosas@...>
2014/12/25
I can't install it in any of our Ubuntu servers using rbenv:
[#67129] Re: Ruby 2.2.0 Released
— SHIBATA Hiroshi <shibata.hiroshi@...>
2014/12/25
> I can't install it in any of our Ubuntu servers using rbenv:
[ruby-core:67251] Re: [ruby-trunk - Feature #10617] Change multiple assignment in conditional from parse error to warning
From:
"Martin J. Dürst" <duerst@...>
Date:
2014-12-31 07:49:32 UTC
List:
ruby-core #67251
Just in private:
- Adding some tests to the patch is a good idea.
- If there's no more action, I'd wait for the next call
for proposals for features in Ruby 2.3,
then produce a slide summarizing your proposal
(see e.g. Normalization.pdf on
https://bugs.ruby-lang.org/issues/10084).
Such calls normally occur somewhere in the middle
of the year.
Regards, Martin.
On 2014/12/30 09:04, recursive.madman@gmx.de wrote:
> Issue #10617 has been updated by Recursive Madman.
>
>
> I'm not sure if it's decent to push this - I understand 2.2.0 release is taking up a lot of time on the core devs side and holidays are also in progress in some parts of the world, so no hurry here.
>
> Anyway, I feel I should ask:
> * are there any known reasons not to accept this patch?
> * does the issue need more clarification? #10450 has more information (I know that issue's discussion got a bit heated and confusing, which is why I opened this one to limit it to the actual change that was requested)
>
> If there's anything more I should do to make this go through (maybe write a test or something?), I'm willing to do.
>
> Ahoy.
>
> ----------------------------------------
> Feature #10617: Change multiple assignment in conditional from parse error to warning
> https://bugs.ruby-lang.org/issues/10617#change-50689
>
> * Author: Recursive Madman
> * Status: Open
> * Priority: Normal
> * Assignee:
> * Category:
> * Target version:
> ----------------------------------------
> There is currently an inconsistency between regular and multiple assignment in conditionals.
> Regular assignment causes a **warning**, multiple assignment causes a **parse error**.
>
> The historical reason for this is that in 1.8 multiple assignment would always return an Array, but since 1.9 it returns whatever the RHS evaluates to.
>
> **Examples:**
>
> ```ruby
> a, b = nil #=> nil
> a, b = [] #=> [] (but a and b are both nil)
> a, b = 1,2 #=> [1, 2]
> ```
>
> Since multiple assignment behavior has changed, it makes sense to remove the (artificial) parse error for multiple assignments.
>
> That makes it possible to test the return value of a method used for multiple assignment without having to use a temporary variable.
>
> **Example:**
>
> ```ruby
> # CURRENTLY WORKING CODE:
> tmp = some_method_returning_array_or_nil
> a, b = tmp
> if tmp
> # method returned an array (possibly empty)
> else
> # method returned nil.
> end
>
> # PROPOSED WORKING CODE:
> if(a, b = some_method_returning_array_or_nil)
> # method returned an array (possibly empty)
> else
> # method returned nil
> end
> ```
>
> (the parenthesis are needed due to LALR limitations, as discussed in #10450)
>
> Attached is a patch that does the necessary change.
>
>
> ---Files--------------------------------
> 0001-turn-parse-error-on-multiple-assignment-into-warning.patch (752 Bytes)
>
>