3 ms·
The following are equivalent: if /(?<meaningful_var>regexp)/ =~ string puts meaningful_var end if /(regexp)/ =~ string puts $1 end This may n
by viseztrance 14y ago
The following are equivalent:
if /(?<meaningful_var>regexp)/ =~ string
puts meaningful_var
end
if /(regexp)/ =~ string
puts $1
end
This may not look like much, but bare in mind you may be using the current selection in several places, at which point you'll probably use the following for readability either way:
meaningful_var = $1
In any case I think that sometimes the latter is preferable, that's why I'm not into these kind of black and white conventions. OMG, this line is 85 characters, you suck.
- yalue 14y agoIt is true that one will probably immediately reassign the $- variables. And that's definitely true that there are cases when conventions impede good style. I would probably say, though, that in most cases the latter of your examples is preferable. if string =~ /First: (.*?) Last: (.*?)\s/ first_name = $1 last_name = $2 # etc... end looks far better to me than if string =~ /First: (?<first_name>.*?) Last: (?<last_name>.*?)\s/ # etc... end