Ejemplo n.º 1
0
 public List <A> TakeWhile(Func <A, bool> p)
 {
     return(e
 ? this
 : p(UnsafeHead)
   ? UnsafeHead + UnsafeTail.TakeWhile(p)
   : List <A> .Empty);
 }
Ejemplo n.º 2
0
 public List <A> Drop(int n)
 {
     return(n <= 0
 ? this
 : e
   ? List <A> .Empty
   : UnsafeTail.Drop(n - 1));
 }
Ejemplo n.º 3
0
 public List <C> ZipWith <B, C>(List <B> bs, Func <A, Func <B, C> > f) =>
 IsEmpty && bs.IsEmpty
 ? List <C> .Empty
 : f(UnsafeHead)(bs.UnsafeHead) + UnsafeTail.ZipWith(bs.UnsafeTail, f);
Ejemplo n.º 4
0
 public List <A> Drop(int n) =>
 n <= 0
 ? this
 : e
   ? List <A> .Empty
   : UnsafeTail.Drop(n - 1);
Ejemplo n.º 5
0
 public List <A> Take(int n) =>
 n <= 0 || e
 ? List <A> .Empty
 : UnsafeHead + UnsafeTail.Take(n - 1);
Ejemplo n.º 6
0
 public B FoldRight <B>(Func <A, B, B> f, B b) =>
 e ? b : f(UnsafeHead, UnsafeTail.FoldRight(f, b));
Ejemplo n.º 7
0
 public List <A> Take(int n)
 {
     return(n <= 0 || e
 ? List <A> .Empty
 : UnsafeHead + UnsafeTail.Take(n - 1));
 }