コード例 #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
ファイル: Cat.cs プロジェクト: zhangzhouzhe/antlrcs
 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);
         }
     }));
 }