public override ProgNodeValue Evaluate(ProgNodeContext context, ArgList arguments) { int maxValue = arguments.GetInteger(context, 0); for (int i = 1; i < arguments.Size(); i++) { int value = arguments.GetInteger(context, i); maxValue = Math.Max(maxValue, value); } return(new ProgNodeValue(maxValue)); }
public override ProgNodeValue Evaluate(ProgNodeContext context, ArgList arguments) { string value = arguments.GetString(context, 0); int start = arguments.GetInteger(context, 1); string substring = null; switch (arguments.Size()) { case 2: substring = value.Substring(start); break; case 3: int length = arguments.GetInteger(context, 2); substring = value.Substring(start, length); break; } return(new ProgNodeValue(substring)); }