Beispiel #1
0
        public override IValue Eval(IValue[] parameters)
        {
            var mode = this.Validate(parameters);

            switch (mode)
            {
            case Mode.Set:
                var res = new ListArray() as IArray;

                foreach (var parameter in parameters)
                {
                    res = res.Combine(parameter.AsSet);
                }

                return(new ArrayValue(res));

            case Mode.String:
                var sb = new StringBuilder();

                foreach (var parameter in parameters)
                {
                    sb.Append(parameter.AsString);
                }

                return(new StringValue(sb.ToString()));

            default:
                throw new System.NotSupportedException();
            }
        }