**@jibal** I know you can do it that way - it's what I was trying to avoid. The 
Curly's Law link you posted is IMO advising against using the same variable 
name in very different contexts, but it doesn't do (for me) to follow the 
precept too dogmatically. For example, I often use `i` and `s` as scratch 
variables for integers and strings, repeatedly, in functions where the meaning 
of how they're used is localised and easy to grasp. In a medium sized function, 
if I have two counted loops going over something, I'm not going to use `i` as 
one counter and `j` as the other if the loops are disjoint and short, just to 
keep Curly happy  (I'm talking generally there, not about Nim specifically.) In 
this case, `line` has the meaning for me of "the current line of text I'm 
working on, in whatever state of processing I want it to be in at this point in 
the loop".

Reply via email to