""
"fo\"o"
"foo\
bar"
"foo"B
@""
@"foo"
@"fo""o"
@"foo"B
""""""
"""fo""o"
bar"""
"""foo"""B
'a'
'a'B
'\''
'\\'
'\231'
'\x41'
'\u0041'
'\U0001F47D'
$"{1+1}"
""
"fo\"o"
"foo\ // part of the string
bar"
"foo"B
@""
@"foo"
@"fo""o"
@"foo"B
""""""
"""fo""o" // part of the string
bar"""
"""foo"""B
'a'
'a'B
'\''
'\\'
'\231'
'\x41'
'\u0041'
'\U0001F47D'
$"{1+1}"
0
"string \'"
1
"this string contains a
new line"
2
"this string jumps a line\
but the result has no new line"
3
@"verbatim "" \' {
string"
4
"""triple quoted " \' {
string"""
5
$"interpola\ {{
ted \' {1 + 1
}string"
6
$@"interpolated "" \' {{
verbatim{1 + 1
}string"
7
@$"interpolated "" \' {{
verbatim{1 + 1
}string"
8
$"""interpolated triple quoted " \' {{ { (sprintf "%d%s" 42)
}string"""
9
$"""test { @"{it's not a placeholder!}" } asdf"""
10
$"""test { $"but this is:{1+1}" } asdf"""
11
$"interpola\ {{
ted \' {1 + 1
}string"
12
$@"interpolated "" \' {{
verbatim{1 + 1
}string"
13
$"""interpolated triple quoted " \' {{ { (sprintf "%d%s" 42)
}string"""
14
let list = [1]
$"""test{ list |> List.map (fun x -> x + 1) }test"""
15
$"test{1 }test"
16
$"test\
{
let x = 42
x
}test"
17
$"""test
{
#if DEBUG
#endif
let asdf = "}"
let x = $@"test{2+2 }test"
let lit = 0
let x = unitTask { return () }
asdf
}test"""
18
let list = [1]
$"""test
{
let asdf = "}"
list |> List.map (fun x -> x + 1)
}test"""
19