I am learning the Prototype library  in-depth and my question is about
the inner logic of the Template.evaluate method. Everything is clear
as long as the original match provided by the gsub function from the
stored template is further processed.

a.) what kind of scenario is the inner regular expresion used to
handle?
b.) what is going on in the while loop

/*
cut
*/
var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;


      match = pattern.exec(expr);
      if (match == null) return before;

      while (match != null) {
        var comp = match[1].startsWith('[') ? match[2].replace(/\\\\]/
g, ']') : match[1];
        ctx = ctx[comp];
        if (null == ctx || '' == match[3]) break;
        expr = expr.substring('[' == match[3] ? match[1].length :
match[0].length);
        match = pattern.exec(expr);
      }
/*
cut
*/

-- 
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptacul...@googlegroups.com.
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en.

Reply via email to