コード例 #1
0
 public override NeSeqObj Append(Obj obj)
 {
     if (obj.IsInt())
     {
         return(Append(obj.GetLong()));
     }
     else if (obj.IsFloat())
     {
         return(Append(obj.GetDouble()));
     }
     else
     {
         return(ArrayObjs.CreateRightPadded(obj));
     }
 }
コード例 #2
0
ファイル: NeSeqObj.cs プロジェクト: cell-lang/csharp
        //////////////////////////////////////////////////////////////////////////////

        public override NeSeqObj UpdatedAt(long idx, Obj obj)
        {
            int len = GetSize();

            if (idx < 0 | idx >= len)
            {
                ErrorHandler.SoftFail("Invalid sequence index");
            }

            Obj[] newItems = new Obj[len];
            for (int i = 0; i < len; i++)
            {
                newItems[i] = i == idx ? obj : GetObjAt(i);
            }

            return(ArrayObjs.Create(newItems));
        }
コード例 #3
0
ファイル: NeSeqObj.cs プロジェクト: cell-lang/csharp
        //////////////////////////////////////////////////////////////////////////////

        public override NeSeqObj Append(Obj obj)
        {
            return(ArrayObjs.Append(this, obj));
        }
コード例 #4
0
ファイル: NeSeqObj.cs プロジェクト: cell-lang/csharp
 public override SeqObj Concat(Obj seq)
 {
     return(seq.GetSize() != 0 ? ArrayObjs.Concat(this, (NeSeqObj)seq) : this);
 }
コード例 #5
0
 public override SeqObj InternalSort()
 {
     Obj[] sortedElts = Array.Take(elts, elts.Length);
     Array.CanonicalSort(sortedElts);
     return(ArrayObjs.Create(sortedElts));
 }