Ejemplo n.º 1
0
        public static FuncyListTC <T> Take <T>(this FuncyListTC <T> source, int count)
        {
            if (source.IsNil)
            {
                return(FuncyListTC.Nil <T>());
            }

            return(FuncyListTC.Construct(((IEnumerable <T>)source).Take <T>(count).ToArray()));
        }
Ejemplo n.º 2
0
 public static MaybeTC <T> First <T>(this FuncyListTC <T> source)
 {
     if (source.IsNil)
     {
         return(MaybeTC.None <T>());
     }
     else
     {
         return(MaybeTC.Some(source.ToCons().Head));
     }
 }
Ejemplo n.º 3
0
 public static MaybeTC <T> Last <T>(this FuncyListTC <T> source)
 {
     if (source.IsNil)
     {
         return(MaybeTC.None <T>());
     }
     else
     {
         return(MaybeTC.Some(((IEnumerable <T>)source).Last()));
     }
 }
Ejemplo n.º 4
0
        public static MaybeTC <T> ElementAt <T>(this FuncyListTC <T> source, int index)
        {
            if (source.IsNil)
            {
                return(MaybeTC.None <T>());
            }

            if (index < 0)
            {
                return(MaybeTC.None <T>());
            }

            if (index >= source.Count())
            {
                return(MaybeTC.None <T>());
            }

            return(MaybeTC.Some(((IEnumerable <T>)source).ElementAt(index)));
        }
Ejemplo n.º 5
0
 public static FuncyListTC <T> ToFuncyList <T>(this NonEmptyListTC <T> self)
 {
     return(FuncyListTC.Construct <T>(self.ToArray()));
 }