J,
How about not doubling $$ if NoVarsInStrings is on.
code:
break on

dim $c, $out
$ = setoption("NoVarsInStrings","on")
$n = 1
$c = 1
$s1 = "string " + $n
$s2 = "string 2"
$s3 = "string 3"
$out = ""

while execute("exit vartype($s" + $c + ")")
$ = execute("$out = $s" + $c)
$out ?
$c = $c + 1
loop

get $

_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.