Paul Winkler wrote:
On Wed, Jul 30, 2003 at 02:06:13PM -0400, Shane Hathaway wrote:
Evan Simpson wrote:
With prefixes, the simpler "here/getSomeObject/call:/someAttribute" gets the job done.
FWIW, I'd write this as "here/call:getSomeObject/someAttribute". I suppose it's possible to support both.
really? How? If you support evan's version, then yours means "call whatever 'here' refers to, and pass getSomeObject as an argument".
No. I can see how you interpreted it that way, though. "call:" is intended to be a method call, and Evan has provided a way to make it a function call also. In either case, you never pass any arguments. I see the expression "x/call:y" as "call the method named 'y' of 'x'". If no 'y' is provided, as in "x/call:", it means "call 'x'".
One interesting difference is that my syntax says both "get an attribute" and "call it", while yours says only "call it". Mine is a method call, while yours is a function call.
How would you pass arguments in your version? I'd say that passing arguments accounts for a very large percentage of my need to use TALES python expressions.
If you need to pass arguments, use a Python expression. Python expressions are not on trial. If you need to pass exactly one argument, you can use a prefix that implies that. "format:", as I've been using it, is one such prefix. Shane