On Mon, 1 Dec 2003, Benji Fisher wrote:

> [...]

>

> I assume that this worked when the InvertString() function was

> first posted to the list, but broken by a later patch. The oldest

> version of vim that I have lying around is 6.1.400. Does anyone with

> an older version get different results?

(I recently upgraded to 6.2, so I can't answer your question.) Just for

those who are interested.. Preben was indeed right, InvertString()

turned out to be about twice as fast as a comparable solution based on a

:while loop.

For

function! InvertString(str)

let inverted = ''

let n = strlen(a:str) - 1

while n >= 0

let inverted = inverted . a:str[n]

let n = n - 1

endwhile

return inverted

endfunction

and

let n = 3000

while n > 0

let x = InvertString('abcdefghijklmnopqrstuvwxyz')

let n = n - 1

endwhile

I got 10 and 5 seconds..

Klaus