Example #1
0
        public override ReturnCode Execute(
            Interpreter interpreter,
            IClientData clientData,
            ArgumentList arguments,
            ref Result result
            )
        {
            ReturnCode code = ReturnCode.Ok;

            if (interpreter != null)
            {
                if (arguments != null)
                {
                    if (arguments.Count >= 2)
                    {
                        StringBuilder builder = null;

                        code = StringOps.AppendWithFormat(
                            interpreter, arguments[1], ArgumentList.GetRange(arguments, 2),
                            interpreter.CultureInfo, ref builder, ref result);

                        if (code == ReturnCode.Ok)
                        {
                            result = builder;
                        }
                    }
                    else
                    {
                        result = "wrong # args: should be \"format formatString ?arg ...?\"";
                        code   = ReturnCode.Error;
                    }
                }
                else
                {
                    result = "invalid argument list";
                    code   = ReturnCode.Error;
                }
            }
            else
            {
                result = "invalid interpreter";
                code   = ReturnCode.Error;
            }

            return(code);
        }