var t, id1, id2; var n := 0; function testPrint( num ) n += 1; print( CStr( n ) + "." ); print( TypeOf( t ) ); print( t ); endfunction t := $""; // zero parts testPrint( t ); t := $"foo"; // one part, string testPrint( t ); t := $"{1}"; // one part, expression -> integer literal testPrint( t ); id1 := 0xbad.beefp4; t := $"{id1}"; // one part, expression -> identifier -> hex float literal testPrint( t ); // #5 t := $"foo{""}"; // two parts testPrint( t ); t := $"{1}bar"; // one part, expression -> integer literal testPrint( t ); id1 := "foo"; id2 := "bar"; t := $"{id1}{id2}"; // two parts testPrint( t ); t := $"{uninit}"; testPrint( t ); t := $"!{uninit}"; testPrint( t ); // #10 t := $"{uninit}!"; testPrint( t ); t := $"!{uninit}!"; testPrint( t ); t := $"{CAsc( "a" )}"; // expression -> function call, that returns a Long testPrint( t ); t := $"{48879:#x}"; testPrint( t ); t := $"Hello {"string":#x}"; testPrint( t ); // #15 t := $"Hello, {@testPrint}"; testPrint( t ); t := $"Hello{$"\x61\x62\x63"}World"; testPrint( t ); t := $"Hello, {{{"_".join( array{ 1, 2, 3 } )}}}"; testPrint( t ); t := $"{{"; testPrint( t ); t := $"{{{{"; testPrint( t ); // #20 t := $"}}"; testPrint( t ); t := $"}}}}"; testPrint( t ); t := $"{{}}"; testPrint( t ); t := $"{{{{}}}}"; testPrint( t ); t := $"{{{{{"_"}}}}}!{{{{" - "}}}}"; // interstring MINUS string testPrint( t ); // #25 t := $"{{{{{"-"}}}}}!{{{"-"}}}"; testPrint( t );