Project1
标题:
为什么用“p”命令会出现这些情况?
[打印本页]
作者:
DemonPanda
时间:
2009-7-24 23:17
标题:
为什么用“p”命令会出现这些情况?
本帖最后由 DemonPanda 于 2009-7-25 14:49 编辑
1.
p ' \ ' # => " \\ "
2.
p ' \\ ' # => " \\ "
3.
p ' \" ' # => " \\\" "
4.
p " \ " # => " "
5.
p " \" " # => " \" "
作者:
紫苏
时间:
2009-7-25 09:48
单引号字符串中的反斜杠,在 p 的时候会用双引号字符串的形式显示出来,要在双引号字符串中表示一个反斜杠则需要使用两个连续的反斜杠来转义其本身(因为反斜杠是用来表示转义码,或者说控制字符的),而 p 函数会调用对象的 inspect 凡方法来显示对象,所以反斜杠本身也会显示出来,用 print 的话则不会
单引号中转义了反斜杠本身,所以还是表示的一个反斜杠
单引号中的双引号不需要转义即可直接表示,所以 \" 反而成了一个反斜杠和一个双引号,而双引号在双引号字符串中就需要反斜杠来转义
反斜杠转义了紧跟着的空格,转义后还是空格,所以输出是两个空格符
反斜杠转义了一个双引号,表示了双引号本身(见 #3)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1