在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中的等价物是@
吗?
答案 0 :(得分:6)
Ruby中有一些类似的东西。 E.g。
foo = %Q(The integer division operator in VisualBASIC is written "a \\ b" and #{'interpolation' + ' works'})
您还可以在其中插入字符串。唯一需要注意的是,您仍需要转义\
字符。
HTH
答案 1 :(得分:2)
您可以将heredoc与单引号一起使用。
foo = <<'_'
The integer division operator in VisualBASIC is written "a \ b";
_
如果你想在最后删除换行符,那么chomp
就可以了。
请注意,这不适用于字符串插值。如果要在字符串中插入已计算的表达式,可以在创建字符串后使用%
操作。
foo = <<'_'
text %{value}
_
foo.chomp % {value: "foo"}