summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorZach Aysan <zachaysan@gmail.com>2015-07-21 15:49:05 -0400
committerZach Aysan <zachaysan@gmail.com>2015-07-21 15:49:05 -0400
commitd2c992c03d498b7427ed393fc203609578fd6c96 (patch)
tree93354a0ea9bed011f27dc03cb79aa392aca53711 /lib
parent99b29b3e97a3e6dd3e3396a00d9cf97fb2f538a3 (diff)
downloadNim-d2c992c03d498b7427ed393fc203609578fd6c96.tar.gz
Add docs
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/strutils.nim27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim
index 4def0b3e8..3c6421bd5 100644
--- a/lib/pure/strutils.nim
+++ b/lib/pure/strutils.nim
@@ -1396,6 +1396,20 @@ proc format*(formatstr: string, a: varargs[string, `$`]): string {.noSideEffect,
 {.pop.}
 
 proc removeSuffix*(s: var string, chars: set[char] = Newlines) {.rtl.} =
+  ## Removes the first matching character from the string (in-place) given a
+  ## set of characters. If the set of characters is only equal to `Newlines`
+  ## then it will remove both the newline and return feed.
+  ## .. code-block:: nim
+  ##   var
+  ##     userInput = "Hello World!\r\n"
+  ##     otherInput = "Hello!?!"
+  ##   userInput.removeSuffix
+  ##   userInput == "Hello World!"
+  ##   userInput.removeSuffix({'!', '?'})
+  ##   userInput == "Hello World"
+  ##   otherInput.removeSuffix({'!', '?'})
+  ##   otherInput == "Hello!?"
+
   var last = len(s) - 1
 
   if chars == Newlines:
@@ -1412,9 +1426,22 @@ proc removeSuffix*(s: var string, chars: set[char] = Newlines) {.rtl.} =
   s.setLen(last + 1)
 
 proc removeSuffix*(s: var string, c: char) {.rtl.} =
+  ## Removes a single character (in-place) from a string.
+  ## .. code-block:: nim
+  ##   var
+  ##     table = "users"
+  ##   table.removeSuffix('s')
+  ##   table == "user"
   removeSuffix(s, chars = {c})
 
 proc removeSuffix*(s: var string, suffix: string) {.rtl.} =
+  ## Remove the first matching suffix (in-place) from a string.
+  ## .. code-block:: nim
+  ##   var
+  ##     answers = "yeses"
+  ##   answers.removeSuffix("es")
+  ##   answers == "yes"
+
   var newLen = s.len
 
   if s.endsWith(suffix):