/// <summary> /// The creator method. /// </summary> /// <param name="args">A sequence of elements.</param> /// <returns>A new list.</returns> protected override object doInvoke(object args) { IArraySeq ias = args as IArraySeq; if (ias != null) { object[] argsarray = (object[])ias.ToArray(); IPersistentList ret = EMPTY; for (int i = argsarray.Length - 1; i >= ias.index(); i--) { ret = (IPersistentList)ret.cons(argsarray[i]); } return(ret); } List <object> list = new List <object>(); for (ISeq s = RT.seq(args); s != null; s = s.next()) { list.Add(s.first()); } return(create(list)); }
static public object invokeStatic(ISeq args) { IArraySeq ias = args as IArraySeq; if (ias != null) { object[] argsarray = (object[])ias.ToArray(); IPersistentList ret = EMPTY; for (int i = argsarray.Length - 1; i >= 0; i--) { ret = (IPersistentList)ret.cons(argsarray[i]); } return(ret); } List <object> list = new List <object>(); for (ISeq s = RT.seq(args); s != null; s = s.next()) { list.Add(s.first()); } return(create(list)); }