fix ropes format errors (#16106) [backport:1.0]
* fix rope index * add testcase * fix ropes format
This commit is contained in:
parent
7fc0c3dfbf
commit
0c6c4be0e7
2 changed files with 8 additions and 1 deletions
|
|
@ -262,7 +262,7 @@ proc `%`*(frmt: string, args: openArray[Rope]): Rope {.
|
||||||
while true:
|
while true:
|
||||||
j = j * 10 + ord(frmt[i]) - ord('0')
|
j = j * 10 + ord(frmt[i]) - ord('0')
|
||||||
inc(i)
|
inc(i)
|
||||||
if frmt[i] notin {'0'..'9'}: break
|
if i >= frmt.len or frmt[i] notin {'0'..'9'}: break
|
||||||
add(result, args[j-1])
|
add(result, args[j-1])
|
||||||
of '{':
|
of '{':
|
||||||
inc(i)
|
inc(i)
|
||||||
|
|
|
||||||
|
|
@ -64,3 +64,10 @@ block:
|
||||||
inc i
|
inc i
|
||||||
|
|
||||||
doAssert r[66] == '\0'
|
doAssert r[66] == '\0'
|
||||||
|
|
||||||
|
block:
|
||||||
|
let r1 = "$1 $2 $3" % [rope("Nim"), rope("is"), rope("a great language")]
|
||||||
|
doAssert $r1 == "Nim is a great language"
|
||||||
|
|
||||||
|
let r2 = "$# $# $#" % [rope("Nim"), rope("is"), rope("a great language")]
|
||||||
|
doAssert $r2 == "Nim is a great language"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue