public override IValue Eval(IValue[] parameters) { this.Validate(parameters); var set = parameters[0].AsSet; var res = new ListArray(); var i = new Variable(parameters[1].AsString, new DoubleValue(0)); this.Context.VariableManager.Define(i); foreach (var item in set) { i.Value = item; res.Add(ValueHelper.Copy(parameters[2])); } return(new ArrayValue(res)); }