Ejemplo n.º 1
0
        public static StringValue Remove(FunctionArgument _args, EvalContext cal)
        {
            var args = _args.Arguments;

            OperationHelper.AssertCertainValueThrowIf(null, args);
            if (OperationHelper.AssertArgsNumber(3, args))
            {
                var ov    = cal.GetValue <StringValue>(args[0]);
                var begin = (int)cal.GetValue <RealNumber>(args[1]);
                var len   = (int)cal.GetValue <RealNumber>(args[2]);
                return(new StringValue(ov.Value.Remove(begin, len)));
            }
            else if (OperationHelper.AssertArgsNumber(2, args))
            {
                var ov    = cal.GetValue <StringValue>(args[0]);
                var begin = (int)cal.GetValue <RealNumber>(args[1]);
                return(new StringValue(ov.Value.Remove(begin)));
            }
            ExceptionHelper.RaiseWrongArgsNumber(null, 3, args?.Length ?? 0);
            return(default);