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)); } }
////////////////////////////////////////////////////////////////////////////// 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)); }
////////////////////////////////////////////////////////////////////////////// public override NeSeqObj Append(Obj obj) { return(ArrayObjs.Append(this, obj)); }
public override SeqObj Concat(Obj seq) { return(seq.GetSize() != 0 ? ArrayObjs.Concat(this, (NeSeqObj)seq) : this); }
public override SeqObj InternalSort() { Obj[] sortedElts = Array.Take(elts, elts.Length); Array.CanonicalSort(sortedElts); return(ArrayObjs.Create(sortedElts)); }