summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCharles Blake <cblake@csail.mit.edu>2015-08-02 12:25:57 -0400
committerCharles Blake <cblake@csail.mit.edu>2015-08-02 12:25:57 -0400
commit2e4e0ffd3d69e37c9c6273979359d41ae65bf48a (patch)
tree9cac22a5005ba27376cdac709805a0b9ea7701ca
parentad67bfcf4637532538ad09ffd34dd592b201f2d2 (diff)
downloadNim-2e4e0ffd3d69e37c9c6273979359d41ae65bf48a.tar.gz
Add some example code blocks.
-rw-r--r--lib/pure/memfiles.nim12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/pure/memfiles.nim b/lib/pure/memfiles.nim
index d2d2a9c8f..e94ccaf3d 100644
--- a/lib/pure/memfiles.nim
+++ b/lib/pure/memfiles.nim
@@ -268,7 +268,12 @@ iterator memSlices*(mfile: MemFile, delim='\l', eat='\r'): MemSlice {.inline.} =
   ## This zero copy, memchr-limited method is probably the fastest way to
   ## iterate through lines in a file, however the returned (data,size) objects
   ## are NOT Nim strings or even terminated C strings.  So, be careful how data
-  ## is accessed (e.g., use C mem* functions, not str* functions).
+  ## is accessed (e.g., use C mem* functions, not str* functions).  Example:
+  ## .. code-block:: nim
+  ##   var count = 0
+  ##   for slice in memSlices(memfiles.open("foo")):
+  ##     inc(count)
+  ##   echo count
   proc c_memchr(cstr: pointer, c: char, n: csize): pointer {.
        importc: "memchr", header: "<string.h>" .}
   proc `-!`(p, q: pointer): int {.inline.} = return cast[int](p) -% cast[int](q)
@@ -302,7 +307,10 @@ iterator lines*(mfile: MemFile, buf: var TaintedString, delim='\l', eat='\r'): T
 iterator lines*(mfile: MemFile, delim='\l', eat='\r'): TaintedString {.inline.} =
   ## Return each line in a file as a Nim string, like lines(File).
   ## Default delimiting is [\\r]\\l which parse Unix or Windows text file lines.
-  ## Pass eat='\0' to be strictly delim-delimited.
+  ## Pass eat='\0' to be strictly delim-delimited.  Example:
+  ## .. code-block:: nim
+  ##   for line in lines(memfiles.open("foo")):
+  ##     echo line
   var buf = TaintedString(newStringOfCap(80))
   for line in lines(mfile, buf, delim, eat):
     yield buf