コード例 #1
0
        public XLoper Execute(String name, XLoper[] args)
        {
            Console.WriteLine(name);
            XLoper x = new XLoper();

            x.Type = XLoper.xlTypeStr;
            x.Str  = "#Unknown Function";

            if (name.Equals("RandTest"))
            {
                x.Type        = XLoper.xlTypeMulti;
                x.Arr.Arr     = new XLoper[new Random().Next(50) + 2];
                x.Arr.Rows    = (uint)x.Arr.Arr.Length;
                x.Arr.Columns = 1;
                Random r = new Random();
                for (int i = 0; i < x.Arr.Arr.Length; i++)
                {
                    x.Arr.Arr[i] = MakeRandom(r);
                }
            }
            else if (name.Equals("ArrayTest"))
            {
            }

            return(x);
        }
コード例 #2
0
        private XLoper MakeRandom(Random r)
        {
            XLoper x = new XLoper();

            x.Type = XLoper.xlTypeNil;
            int choice = r.Next(7);

            switch (choice)
            {
            case 0:
                x.Type = XLoper.xlTypeStr;
                x.Str  = MakeRandomString(r.Next(1000));
                break;

            case 1:
                x.Type = XLoper.xlTypeNum;
                x.Num  = r.NextDouble() * 1000;
                break;

            case 2:
                x.Type = XLoper.xlTypeInt;
                x.W    = r.Next(1000);
                break;

            case 3:
                x.Type = XLoper.xlTypeBool;
                x.Bool = r.Next(2) == 1;
                break;

            case 4:
                x.Type = XLoper.xlTypeStr;
                x.Str  = "";
                break;
            }

            return(x);
        }