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.
It 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
Comments
The following are equivalent:
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: 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.It 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.
looks far better to me than