Issue #6693 has been updated by alexeymuranov (Alexey Muranov).


drbrain (Eric Hodel) wrote:
> alexeymuranov (Alexey Muranov) wrote:
> > It this really necessary to treat the variable name `_` exceptionally at the interpreter's level?  Why not to use the same rule for all variables, and for unused variables introduce a special placeholder, for example `-` not followed by anything other than a delimiter (comma or bracket):
> 
> Removing warning suppression via "_" reintroduces warnings I've fixed and breaks backward compatibility.
>   
> >  {1=>2}.each_with_index { |x,x| puts "Oho!" }  # SyntaxError: (eval):2: duplicated argument name
> 
> Adding this SyntaxError will break RDoc.
> 
> PS: you should open a separate feature request for these two changes. They are beyond of this change.

I am sorry, i think there is misunderstanding.

 {1=>2}.each_with_index { |x,x| puts "Oho!" }  # SyntaxError: (eval):2: duplicated argument name

is not a feature request, it is the current behavior.  I proposed to remove this syntax error and to allow to repeat any variable, not only `_`.
----------------------------------------
Feature #6693: Don't warn for unused variables starting with _
https://bugs.ruby-lang.org/issues/6693#change-28873

Author: marcandre (Marc-Andre Lafortune)
Status: Feedback
Priority: Low
Assignee: 
Category: core
Target version: 2.0.0


Currently, variables which are set but not used will generate a warning (ruby -w), except if they have the special name "_".

So best practice is to use "_" for all unused variables. This does not encourage readable code.

    # Currently must read:
    _, _, _, suffix = parse_name

    # could read:
    _first, _middle, _last, suffix = parse_name

We should not warn for unused variables starting with a "_".

This would create an option (but no obligation) to use more descriptive names than "_" without generating warnings.



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