Good point.   if we did this, keeping it simple (with the default
context) makes a lot of sense.

The #evaluate functionality seems simple enough, I'm enthused about
including it (eventually, anyway).

WILL

On 1/3/07, Nathan Bubna <[EMAIL PROTECTED]> wrote:
The more canonical example for an "evaluate" tool (or directive) is
being ably to dynamically decide what method to call on a particular
reference.  So, something along the lines of:

#if( $this > $that )
 #set( $method = $foo )
#else
 #set( $method = $bar )
#end
$render.eval( "\${someRef}.${method}" )

Though, Christoph's example gets to the same point quicker.

While i am quite fine with providing a tool or a directive for
advanced users to do this, i really don't think it's practical,
necessary, or wise to bend over backwards to support this sort of
thing.  So, i'm not even sure i'm ready to automatically include such
a directive in the default directive.properties, much less add some
new-fangled syntax for doing such things.       At least an #evaluate
directive wouldn't really be growing the VTL language.

And as far as adding on optional parameter to narrow the context for
such evaluations, i think i can say with great confidence that YAGNI.
 I don't think most people even need #evaluate, much less one with
such fine-grained context control.

On 1/3/07, Will Glass-Husain <[EMAIL PROTECTED]> wrote:
> [I'm changing the subject line-- I kept looking for this discussion in JIRA]
>
> Great way of way of framing this, Christopher.  Thinking about
> #evaluate as a companion to #include and #parse makes me realize this
> new proposed directive fits within the Velocity approach.
>
> Another idea is to have an optional argument with a map that would
> serve as a context.
>
> #evaluate("hello from $name",{"name":"Will"})
>
> WILL
>
> On 1/3/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > No, the #evaluate directive is to be used as it the following example:
> >
> > #set( $error = $i18n_tool.getMessage("ERROR123") )
> > #evaluate( $error )## reder by merging with context
> >
> > It something like the #parse directive, but the content comes
> > from a string and not a file.
> >
> > :) Christoph
> >
> > Geir Magnusson Jr. wrote:
> > > Do you mean
> > >
> > >   $foo = "#foreach($a in $b) ...... #end"
> > >
> > > ?
> > >
> > > If so, why not just do it that way, rather than add a new directive?
> > >
> > > geir
> > >
> > >
> > > On Jan 2, 2007, at 11:47 PM, Will Glass-Husain (JIRA) wrote:
> > >
> > >> Add new directive #evaluate
> > >> ---------------------------
> > >>
> > >>                  Key: VELOCITY-509
> > >>                  URL: https://issues.apache.org/jira/browse/VELOCITY-509
> > >>              Project: Velocity
> > >>           Issue Type: New Feature
> > >>           Components: Engine
> > >>     Affects Versions: 1.5 beta2
> > >>             Reporter: Will Glass-Husain
> > >>             Priority: Minor
> > >>              Fix For: 1.6
> > >>
> > >>
> > >> On a separate issue (VELOCITY-504) we came up with the idea of a new
> > >> directive, #evaluate.  Basically, it would act just like
> > >> Velocity.evaluate().
> > >>
> > >> Users are always asking for this capability (internal evaluation).
> > >> Usually we tell them to "use a tool".  Instead, we should just put in
> > >> a simple directive that would evaluate a VTL string using the current
> > >> context.
> > >>
> > >> Incidentally, this should be the current local context, e.g. if inside
> > >> a macro or a foreach loop (or worse, both) it should use that
> > >> context.  See VELOCITY-504 for why this is needed.
> > >>
> > >> --This message is automatically generated by JIRA.
> > >> -
> > >> If you think it was sent incorrectly contact one of the
> > >> administrators: https://issues.apache.org/jira/secure/Administrators.jspa
> > >> -
> > >> For more information on JIRA, see: http://www.atlassian.com/software/jira
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Forio Business Simulations
>
> Will Glass-Husain
> [EMAIL PROTECTED]
> www.forio.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Forio Business Simulations

Will Glass-Husain
[EMAIL PROTECTED]
www.forio.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to