AjErl.Modules.ListsModule.Filter C# (CSharp) Метод

Filter() приватный статический Метод

private static Filter ( Context context, IList arguments ) : object
context Context
arguments IList
Результат object
        private static object Filter(Context context, IList<object> arguments)
        {
            IFunction function = (IFunction)arguments[0];
            List list = (List)arguments[1];
            IList<object> elements = new List<object>();

            while (list != null)
            {
                var result = function.Apply(context, new object[] { list.Head });

                if (true.Equals(result))
                    elements.Add(list.Head);

                list = (List)list.Tail;
            }

            return List.MakeList(elements);
        }