回答
irb正在完美工作。你不能指望它输出"""
。
根据定义:
转义字符是它调用在后面的字符的替代 解释在一个字符序列的字符。
在您的预期输出"""
显然中间"
有着不同的解读。因此它逃脱了。
为了让事情更清晰:
"\""
#=> "\""
puts "\""
# "
对于更多的困惑:'“\”“。检查' –
@ D端,如果我没有错误,反斜杠本身的转义序列会增加额外的反斜杠吗? – Projjol
@Projjol没错。语法重要的符号被前面的反斜杠转义 –
IRB默认使用Object#inspect
语句执行后显示语句的结果。
在String#inspect
情况下,文件说,
返回海峡的打印版本,用引号包围, 特殊字符转义。
irb(main):001:0> "\""
=> "\""
irb(main):002:0> '"'
=> "\""
当启动IRB,你可以通过--noinspect
选项,在这种情况下,IRB将使用to_s
打印结果。
例如,如果我们有一个类:
class Test
def to_s
"#{self.class} instance"
end
end
默认IRB:
irb(main):003:0> Test.new
=> #<Test:0x00000002ad7fa8>
随着irb --noinspect
irb(main):002:0> Test.new
=> Test instance
irb(main):003:0> "\""
=> "
irb(main):004:0> '"'
=> "
irb(main):005:0>
- 1. 转义双引号
- 2. opencsv转义单引号和双引号
- 3. Ansible转义双引号和单引号
- 4. Excel转义单引号和双引号
- 5. 转义双引号与单引号
- 6. php转义双引号
- 7. 转义双引号在sed
- 8. XSLT 1.0:转义双引号
- 9. Response.GetResponseStream()转义双引号
- 10. 转义双引号修复
- 11. 转义双引号tcsh的别名
- 12. 使用Python中的转义双引号替换转义的单引号
- 13. 使用Javascript中的单引号和双引号转义和转义字符串
- 14. jQuery和Smarty函数转义双引号
- 15. C#转义字符串双引号
- 16. 使用Javascript函数双引号转义
- 17. 在Common Lisp中转义双引号
- 18. Python - 使用string.replace转义双引号
- 19. 使用HttpWebResponse接收转义双引号
- 20. 在Linux中perl中转义双引号
- 21. 在导轨中转义双引号3.2
- 22. mysqldump,避免转义双引号
- 23. 在Rails中转义双引号link_to
- 24. 在PHP(Wordpress)中转义双引号
- 25. iPhone - Localizable.strings用双引号转义字符
- 26. 在php中转义双引号echo
- 27. ODI:KM Java BeanShell - 转义双引号
- 28. 转义双引号和网页
- 29. Logstash JSON输入与转义双引号
- 30. 如何在SQLAlchemy中双引号转义
“没有逃脱双引号” - 你已经拥有它逃过一劫。 –