[Tim] > > I do object to this part: > > > > If the $ character appears at the end of the line, or is followed > > by any other character than those described above, it is treated > > as if it had been escaped, appearing in the resulting string > > unchanged. > > > > There's already a facility to escape $, and it's dead easy to use. $ > > isn't a frequently needed character either in most apps. So escaping > > $ "by magic" too is, I think, more likely to make typing errors harder > > to find than to do anyone real good. [Barry] > What would you do about $'s at the end of the string? I think the > implementation would be much more complex if you didn't have this rule, > e.g. you'd have to match \$$ and the $-placeholder regexps would > basically have to match everything. Then the .sub call would have to be > more complex too, because it would have to check for the existence of > those match groups and then raise an exception. Or something like that. FWIW, Cheetah implements the behavior as described by Barry. IDLE 1.1a2 >>> from Cheetah.Template import Template >>> t = Template('the $rank is $@ a $$ dead ${rank}! $') >>> t.rank='king' >>> print t the king is $@ a $$ dead king! $ I think "escaping by magic" is the operational description. A better way to think of it is that only well formed substitutions are made. Raymond
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4