diff options
author | Viktor Marosvary <viktor.marosvary@gmail.com> | 2017-10-24 10:22:18 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-10-24 10:22:18 +0200 |
commit | ce04288d6492c36f5021198d9d7fe8a6932959e4 (patch) | |
tree | 54ed852e7564b3052e3084de55bc8a4a19a25cb1 /lib | |
parent | c05124485962620d8d1198d3914c1e1b7fe1cb1f (diff) | |
download | Nim-ce04288d6492c36f5021198d9d7fe8a6932959e4.tar.gz |
isAlphaNumberic and isDigit improvement + tests (#6579)
if we encounter a character that does not satisfy the proc, we return immediately, without continuing to loop over the rest of the chars in the string.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/strutils.nim | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/pure/strutils.nim b/lib/pure/strutils.nim index 3da8094f5..1f56704f7 100644 --- a/lib/pure/strutils.nim +++ b/lib/pure/strutils.nim @@ -138,7 +138,8 @@ proc isAlphaNumeric*(s: string): bool {.noSideEffect, procvar, result = true for c in s: - result = c.isAlphaNumeric() and result + if not c.isAlphaNumeric(): + return false proc isDigit*(s: string): bool {.noSideEffect, procvar, rtl, extern: "nsuIsDigitStr".}= @@ -153,7 +154,8 @@ proc isDigit*(s: string): bool {.noSideEffect, procvar, result = true for c in s: - result = c.isDigit() and result + if not c.isDigit(): + return false proc isSpaceAscii*(s: string): bool {.noSideEffect, procvar, rtl, extern: "nsuIsSpaceAsciiStr".}= |