无需转义反斜杠的字符串文字

String literal without need to escape backslash

在 C# 中,我可以在字符串前使用 @ 来编写反斜杠和其他特殊字符而无需转义,但我必须转义双引号。

C#

string foo = "The integer division operator in VisualBASIC is written \"a \ b\"";
string bar = @"The integer division operator in VisualBASIC is written \"a \ b\""

在 Ruby 中,我可以使用单引号字符串文字,但我想将其与 "text #{value}" 等字符串插值结合使用。在 C# 中 Ruby 是否与 @ 等效?

Ruby 中有一些类似的东西。例如

foo = %Q(The integer division operator in VisualBASIC is written "a \ b" and #{'interpolation' + ' works'})

您还可以在其中插入字符串。唯一需要注意的是,您仍然需要转义 \ 字符。

HTH

您可以使用带单引号的 heredoc。

foo = <<'_'
The integer division operator in VisualBASIC is written "a \ b";
_

如果你想去掉末尾的换行符,那么chomp它。

请注意,这不适用于字符串插值。如果要在字符串中插入求值表达式,可以在创建字符串后使用 % 操作。

foo = <<'_'
text %{value}
_

foo.chomp % {value: "foo"}