summary refs log tree commit diff stats
path: root/lib/pure/collections/sequtils.nim
diff options
context:
space:
mode:
authorVarriount <Varriount@users.noreply.github.com>2013-10-27 03:44:55 -0400
committerVarriount <Varriount@users.noreply.github.com>2013-10-27 03:44:55 -0400
commitea92682b98a303fe37feb447160560d28e8fe0a6 (patch)
treeb1ec3b64bacf0bcf56d77505a8aab6f4c747ab7b /lib/pure/collections/sequtils.nim
parent314e526f75bb19b069d438af9c7ad99411ee1da9 (diff)
downloadNim-ea92682b98a303fe37feb447160560d28e8fe0a6.tar.gz
Apply changes suggested by Araq
Added documentation examples, added defaults
Diffstat (limited to 'lib/pure/collections/sequtils.nim')
-rw-r--r--lib/pure/collections/sequtils.nim23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/pure/collections/sequtils.nim b/lib/pure/collections/sequtils.nim
index 7a520e9a3..3a009a8cb 100644
--- a/lib/pure/collections/sequtils.nim
+++ b/lib/pure/collections/sequtils.nim
@@ -117,9 +117,18 @@ proc filter*[T](seq1: seq[T], pred: proc(item: T): bool {.closure.}): seq[T] =
   ##   assert f2 == @["yellow"]
   accumulateResult(filter(seq1, pred))
 
-proc delete*[T](s: var seq[T], first, last: int) =
+proc delete*[T](s: var seq[T], first=0, last=0) =
   ## Deletes in `s` the items at position `first` .. `last`. This modifies
   ## `s` itself, it does not return a copy.
+  ##
+  ## Example:
+  ##
+  ##.. code-block:: nimrod
+  ##   let outcome = @[1,1,1,1,1,1,1,1]
+  ##   var dest = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
+  ##   dest.delete(3, 8)
+  ##   assert outcome == dest
+  
   var i = first
   var j = last+1
   var newLen = len(s)-j+i
@@ -129,9 +138,19 @@ proc delete*[T](s: var seq[T], first, last: int) =
     inc(j)
   setlen(s, newLen)
 
-proc insert*[T](dest: var seq[T], src: openArray[T], pos: int) =
+proc insert*[T](dest: var seq[T], src: openArray[T], pos=0) =
   ## Inserts items from `src` into `dest` at position `pos`. This modifies
   ## `dest` itself, it does not return a copy.
+  ##
+  ## Example:
+  ##
+  ##.. code-block:: nimrod
+  ##   var dest = @[1,1,1,1,1,1,1,1]
+  ##   let 
+  ##     src = @[2,2,2,2,2,2]
+  ##     outcome = @[1,1,1,2,2,2,2,2,2,1,1,1,1,1]
+  ##   dest.insert(src, 3)
+  ##   assert dest == outcome
   
   var j = len(dest) - 1
   var i = len(dest) + len(src) - 1