[Python-Dev] proposal: evaluated string (original) (raw)
tomer filiba tomerfiliba at gmail.com
Thu Apr 20 21:06:17 CEST 2006
- Previous message: [Python-Dev] proposal: evaluated string
- Next message: [Python-Dev] proposal: evaluated string
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
We've said "-1" i don't mean to be rude, but only josiah strictly said -1. by you saying "we", i'd assume you -1'ed it as well, but you couldn't have expected me to know that before you said it. so i feel a little cornered here... is it my fault i don't support quantom superposition?
-tomer
On 4/20/06, Guido van Rossum <guido at python.org> wrote:
Tomer, please stop. We've seen your proposal. We've said "-1". Please take it instead of wasting your time trying to argue for it. On 4/20/06, tomer filiba <tomerfiliba at gmail.com> wrote: > > > We already have a slew of templating utilities (see Cheetah for example). > > > first of all -- i know there's a bunch of templating engines, but i think it > should be a > built-in feature of the language. like boo does. and estr is stronger than > simple > $name substitution, like Template does. > > > > Be sure to stay aware of the security risks if the fill-in values are user > specified. > > > that's one major benefit of having it as a builtin type -- you dont have > security risks, > as the expression itself is embedded in your code, not something you get > from the > outside: > > name = rawinput("what's you name?") > print e"hello {name}" > > does not get the expression from the user, only the values, so unless > the user > causes a buffer overflow with a huge string, he can't run code. the estr > object is part > of your code, which you trust. > > > > If you need this, then consider using a third-party templating module. > > > that 50-liner estr class i presented does just that. > > > > Using the key twice is basic to templating (once of specify where to > > make the substitution and once to specify its value). This is no > > different from using variable names in regular code: a=1; ... ; b = > > a+2 # variable-a is used twice. > > > but when it's defined once as an argument to a function, once in the > template, > and once in the dict, that's three times, where it can be only two. > > def f(name): > print e"hello {name}" > > > > Also, the example is misleading because real-apps are substitute > > variables, not constants. IOW, the above code fragment is sematically > > equivalent to: print "hello john". > > > what do you mean by that? > > > > 3) it is less > > flexible than the class constructor which can be subclassed and > > extended as needed. > > > do you often subclass str? it's a built-in type, part of the language, > subclassing it doesnt > make much sense. after all it's the language compiler that instanciates > these types, i.e., > when you do "hello", the compiler creates an instance of str() with that > value, not you > directly, and that's the case here. > > > -tomer > > > On 4/20/06, Raymond Hettinger <rhettinger at ewtllc.com> wrote: > > > > > > > >If you don't like the $name style of template markup and prefer > > >delimiters instead, then check-out the recipe at: > > > > > > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/3053 > > > > > > > > The link should have been: > > > > > http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/305306 > > > > > > > > > > _> ________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/guido%40python.org > > >
-- --Guido van Rossum (home page: http://www.python.org/~guido/) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-dev/attachments/20060420/c101ba18/attachment.html
- Previous message: [Python-Dev] proposal: evaluated string
- Next message: [Python-Dev] proposal: evaluated string
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]