1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

scanner: string interpolation with $var at the end

This commit is contained in:
Marco Böttcher 2019-08-16 16:06:27 +02:00 committed by Alexander Medvednikov
parent 1372d04b43
commit d6d17fe3f2
3 changed files with 14 additions and 2 deletions

View File

@ -875,7 +875,7 @@ mut args := ''
//'$fast_clang $args' //'$fast_clang $args'
//} //}
//else { //else {
mut cmd := 'cc $args' mut cmd := ('cc $args') // TODO fix $if after 'string'
//} //}
$if windows { $if windows {
cmd = 'gcc $args' cmd = 'gcc $args'

View File

@ -264,7 +264,7 @@ fn (s mut Scanner) scan() ScanRes {
// at the next ', skip it // at the next ', skip it
if s.inside_string { if s.inside_string {
if next_char == `\'` { if next_char == `\'` {
s.pos++ s.dollar_end = true
s.dollar_start = false s.dollar_start = false
s.inside_string = false s.inside_string = false
} }

View File

@ -15,3 +15,15 @@ fn test_excape_dollar_in_string() {
assert !'(\\\\${i})'.contains('i') && '(\\\\${i})'.contains('42') && '(\\\\${i})'.contains('\\\\') assert !'(\\\\${i})'.contains('i') && '(\\\\${i})'.contains('42') && '(\\\\${i})'.contains('\\\\')
assert i==42 assert i==42
} }
fn test_implicit_str() {
i := 42
assert 'int $i' == 'int 42'
assert '$i' == '42'
check := '$i' == '42'
assert check
text := '$i' + '42'
assert text == '4242'
}