code: public void call(Env env, Scope scope, ExprList exprList, Writer writer) {
  		if (exprList.length() != parameterNames.length) {
  			throw new TemplateException("Wrong number of argument to call the template function, right number is: " + parameterNames.length, location);
  		}
  		
  		scope = new Scope(scope);
  		if (exprList.length() > 0) {
  			Object[] parameterValues = exprList.evalExprList(scope);
  			for (int i=0; i<parameterValues.length; i++) {
  				scope.setLocal(parameterNames[i], parameterValues[i]);	// 参数赋值
  			}
  		}
  		
  		stat.exec(env, scope, writer);
  		scope.getCtrl().setJumpNone();	// #define 中的 return、continue、break 全部在此消化
  	}
docs: 真正调用模板函数