diff options
author | Araq <rumpf_a@web.de> | 2013-03-16 09:47:23 -0700 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2013-03-16 09:47:23 -0700 |
commit | 218166d7703a3db6ea51fc18fc9e9801831e25c2 (patch) | |
tree | f16f700d7df3a5bfcea445f203752052ad30afb2 | |
parent | b75a335705afb798c684705d0c53784c0e4469f8 (diff) | |
parent | 9c0798d638e5d5aebc45056804ba11b9932abb96 (diff) | |
download | Nim-218166d7703a3db6ea51fc18fc9e9801831e25c2.tar.gz |
Merge pull request #356 from gradha/pr_adds_left_alignment_example_to_strutils
Adds left alignment example to strutils.
-rwxr-xr-x | lib/pure/strutils.nim | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index 090ad640c..b5f5a41eb 100755 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -415,7 +415,15 @@ proc parseEnum*[T: enum](s: string, default: T): T = proc repeatChar*(count: int, c: Char = ' '): string {.noSideEffect, rtl, extern: "nsuRepeatChar".} = ## Returns a string of length `count` consisting only of - ## the character `c`. + ## the character `c`. You can use this proc to left align strings. Example: + ## + ## .. code-block:: nimrod + ## let + ## width = 15 + ## text1 = "Hello user!" + ## text2 = "This is a very long string" + ## echo text1 & repeatChar(max(0, width - text1.len)) & "|" + ## echo text2 & repeatChar(max(0, width - text2.len)) & "|" result = newString(count) for i in 0..count-1: result[i] = c @@ -429,7 +437,8 @@ proc align*(s: string, count: int): string {. noSideEffect, rtl, extern: "nsuAlignString".} = ## Aligns a string `s` with spaces, so that is of length `count`. Spaces are ## added before `s` resulting in right alignment. If ``s.len >= count``, no - ## spaces are added and `s` is returned unchanged. + ## spaces are added and `s` is returned unchanged. If you need to left align + ## a string use the repeatChar proc. if s.len < count: result = newString(count) var spaces = count - s.len |