From: Alex Young Date: 2012-07-10T18:10:49+09:00 Subject: [ruby-core:46294] Re: [ruby-trunk - Feature #6693] Don't warn for unused variables starting with _ On 09/07/12 14:54, marcandre (Marc-Andre Lafortune) wrote: > > Issue #6693 has been updated by marcandre (Marc-Andre Lafortune). > > > Hi, > > regularfry (Alex Young) wrote: >> I don't know about anyone else, but I'm already using _foo as a >> pattern for private-like markers. > > I don't think that it would be confusing. We don't confuse variables > with methods already, right? You might not, but it's a common gotcha with local variables and private methods. > Also, I feel the convention for this already exists with two > underscore before and after the method, in particular > SimpleDelegate#__getobj__ and #__setobj__ That's true, it does exist, but in my head that specific convention is reserved for core/stdlib. Maybe I'm being overly paranoid about that. > Everyone is of course free to use their own. In any case, is it > frequent that we delegate to an object for which we don't know the > methods in advance? Well, yes - part of the point of the VCR class I showed is that it's library code that's usable pretty much anywhere. I use it (and things like it) in testing a fair amount, where in general I want to be able to take advantage of method_missing and not have to care about the specifics of the delegate. Also, while I might know all the methods on the delegate *now*, I don't have foreknowledge of all the methods which will ever be implemented on it as the project develops. There is precedent for what you're suggesting, in that Erlang does the same, so it's not unreasonable. It's just close enough to home that it makes me uncomfortable. -- Alex > > > ---------------------------------------- Feature #6693: Don't warn > for unused variables starting with _ > https://bugs.ruby-lang.org/issues/6693#change-27894 > > 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. > > >