I'm a C# developer who try to learn F#.
As far as I know, F# 2.0 had two kind of syntaxes for strings: normal strings, and verbatim strings (like C#). With F# 3.0 version there is a feature called tripled-quoted strings.
As far as I see, with this string format, every thing between """
is a verbatim string literal. And there is no need to escape escapse sequence characters like double quotes.
For example all these are valid strings;
let a = """ This is a valid "string" """
let b = """ This is a valid \string """
let c = """ This is a valid 'string """
But there is a rule with it;
Quotes in the triple-quoted string cannot end with a double-quote (“), but it can begin with one.
So this is a legal string;
let s = """"This is a valid string"""
but this is not;
let s = """This is a valid string""""
Why is that? I looked at Strings (F#)
on MSDN page, F# 3.0 Language Spec $3.5 Strings and Characters part and More About F# 3.0 Language Features but I couldn't find any information about why it's legal to use in the begining of string but not at the end.
Can you enlighten me?