[#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:67212] [ruby-trunk - Feature #10617] Change multiple assignment in conditional from parse error to warning
From:
recursive.madman@...
Date:
2014-12-30 00:04:31 UTC
List:
ruby-core #67212
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) -- https://bugs.ruby-lang.org/