Ron Adam wrote:
>
> Martin v. Lo"wis wrote:
>> Bill Janssen schrieb:
>>>> I think most of these points are irrelevant. The curly braces are not
>>>> just syntactic sugar, at least the opening brace is not; the digit
>>>> is not syntactic sugar in the case of message translations.
>>> Are there "computation of matching braces" problems here?
>> I don't understand: AFAIK, the braces don't nest, so the closing
>> brace just marks the end of the place holder (which in the printf
>> format is defined by the type letter).
> So expressions like the following might be difficult to spell.
>
> '{{foo}{bar}}'.format(foo='FOO', bar='BAR', FOOBAR = "Fred")
>
> This would probably produce an unmatched brace error on the first '}'.
Ah, I see. I hadn't thought of that case. You're correct, it gives an
error on the first '}'. This is a case where allowing whitespace would
solve the problem, sort of like C++'s "< <" template issue (which I
think they've since addressed). I'm not sure if it's worth doing, though:
'{ {foo}{bar} }'.format(foo='FOO', bar='BAR', FOOBAR = "Fred")
On second thought, that won't work. For example, this currently doesn't
work:
'{0[{foo}{bar}]}'.format({'FOOBAR': 'abc'}, foo='FOO', bar='BAR')
KeyError: 'FOO'
I can't decide if that's a bug or not.
Eric.
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe:
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com