protected override void OnExecute(Engine engine) { if (Prototype != null) { var func = Prototype; var open = func.IndexOf('('); var close = func.LastIndexOf(')'); if (open == -1 || close == -1) engine.Throw("missing parentheses: " + func); FunctionName = func.Substring(0, open); var fields = func.Substring(open + 1, close - (open + 1)).Split(','); Parameters.AddRange(fields.Select(field => ParseParameter(engine, field.Trim()))); } engine.DefineFunction(FunctionName, this); }
protected override void OnExecute(Engine engine) { engine.DefineFunction(FunctionName, this); }