Fan.Sys.Range.map C# (CSharp) Method

map() public method

public map ( Func f ) : List
f Func
return List
        public List map(Func f)
        {
            long start = m_start;
              long end = m_end;
              Type r = f.returns();
              if (r == Sys.VoidType) r = Sys.ObjType.toNullable();
              List acc = new List(r);
              if (start < end)
              {
            if (m_exclusive) --end;
            for (long i=start; i<=end; ++i) acc.add(f.call(i));
              }
              else
              {
            if (m_exclusive) ++end;
            for (long i=start; i>=end; --i) acc.add(f.call(i));
              }
              return acc;
        }