示例#1
0
文件: Cat.cs 项目: ymf1/webgrease
 static IEnumerable <object> Unfold(IEnumerable <object> items)
 {
     return(items.SelectMany((item) =>
     {
         item = ASTExpr.ConvertAnythingIteratableToIterator(item);
         if (item is Antlr.Runtime.JavaExtensions.Iterator)
         {
             return ((Antlr.Runtime.JavaExtensions.Iterator)item).Source.Cast <object>();
         }
         else if (item is string)
         {
             return Enumerable.Repeat(item, 1);
         }
         else if (item is IEnumerable)
         {
             return ((IEnumerable)item).Cast <object>();
         }
         else if (item is IEnumerator)
         {
             return Enumerable.Repeat(item, 1);
         }
         else
         {
             return Enumerable.Repeat(item, 1);
         }
     }));
 }
示例#2
0
 static IEnumerable <object> Unfold(IEnumerable <object> items)
 {
     return(items.SelectMany((item) =>
     {
         item = ASTExpr.ConvertAnythingIteratableToIterator(item);
         if (item is string)
         {
             return Enumerable.Repeat(item, 1);
         }
         else if (item is IEnumerable)
         {
             return ((IEnumerable)item).Cast <object>();
         }
         else if (item is IEnumerator)
         {
             return Enumerate((IEnumerator)item);
         }
         else
         {
             return Enumerable.Repeat(item, 1);
         }
     }));
 }