C#では次を使用できます:
string myBigString = @"
<someXmlForInstance>
<someChild />
</someXmlForInstance>
";
F#でこれを行う方法は?
F# 3.0、VS 2012 では、三重引用符で囲まれた文字列のサポートが追加されました。
三重引用符で囲まれた文字列では、三重引用符 ("""...""") の間のすべてがそのまま保持されます。逃げることはまったくありません。その結果、XAML を文字列リテラルとして使用したい場合は、次のように簡単です。
let xaml = """
<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Name="mainPanel">
<Border BorderThickness="15.0" BorderBrush="Black">
<StackPanel Name="stackPanel1">
<TextBlock Text="Super BreakAway!" FontSize="24" HorizontalAlignment="Center" />
<TextBlock Text="written in F#, by Brian McNamara - press 'p' to pause"
FontSize="12" HorizontalAlignment="Center" />
<Border BorderThickness="2.0" BorderBrush="Black">
<Canvas Name="canvas" Background="White" />
</Border>
</StackPanel>
</Border>
</StackPanel>"""
試してみてください:
let str1 = "abc
def"
let str2 = "abc\
def"
詳細については、http: //msdn.microsoft.com/en-us/library/362314fe.aspxを参照してください。
@ 記号が前に付いている場合、リテラルはそのままの文字列です。これは、2 つの引用符文字が 1 つの引用符文字として解釈されることを除いて、エスケープ シーケンスが無視されることを意味します。
ソース:文字列 (F#)