On 01/-10/-28163 01:59 PM, Yingjie Lan wrote:
Because of the d"..." format, it won't
affect old ways of doing things one bit.
Allowing dynamic string wouldn't hurt
a bit to anything that is already there.
Why don't you just write a function that does it? I think someone
already suggested this...
import dynamic_strings # write this
d = dynamic_strings.dynamic
x = 5
print(d("x=$x$"))
?
Sure, it's not *quite* as pretty as if you could just say d"x=$x$", and
you might have to do some hacky uglyness in the implementation to get at
the locals of the calling procedure, but it solves a bazillion problems,
such as:
1. YOU can do it, instead of hoping it gets into the mainline
interpreter
2. You can do it NOW, and it will work with "any" version of Python
3. You have the freedom to easily add "eval from *this dictionary* if
you want, which solves Steven D'Aprano's objection that your
suggestion is too weak.
4. Languages changes should be viewed suspiciously in general.
Evan
--
http://mail.python.org/mailman/listinfo/python-list