YAMP.FunctionValue.SetPerform C# (CSharp) Method

SetPerform() private method

private SetPerform ( String arguments, Expression body ) : void
arguments String
body Expression
return void
        void SetPerform(String[] arguments, Expression body)
        {
            _perform = (context, argument) =>
            {
                var symbols = new Dictionary<String, Value>();
                var av = new ArgumentsValue().Append(argument);

                if (av.Length != arguments.Length)
                {
                    throw new YAMPArgumentNumberException("Anonymous function", av.Length, arguments.Length);
                }

                for (var i = 0; i < arguments.Length; i++)
                {
                    symbols.Add(arguments[i], av.Values[i]);
                }

                return body.Interpret(symbols);
            };
        }

Same methods

FunctionValue::SetPerform ( String name, String arguments, Expression body ) : void