设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1565|回复: 1
打印 上一主题 下一主题

[已经解决] 为什么用“p”命令会出现这些情况?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2007-2-9
帖子
397
跳转到指定楼层
1
发表于 2009-7-24 23:17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 DemonPanda 于 2009-7-25 14:49 编辑

1.
p ' \ '     # => " \\ "
2.
p ' \\ '    # => " \\ "
3.
p ' \" '    # => " \\\" "
4.
p " \ "    # => "  "
5.
p " \" "   # => " \" "

Lv1.梦旅人

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
帖子
1924
2
发表于 2009-7-25 09:48:06 | 只看该作者
  • 单引号字符串中的反斜杠,在 p 的时候会用双引号字符串的形式显示出来,要在双引号字符串中表示一个反斜杠则需要使用两个连续的反斜杠来转义其本身(因为反斜杠是用来表示转义码,或者说控制字符的),而 p 函数会调用对象的 inspect 凡方法来显示对象,所以反斜杠本身也会显示出来,用 print 的话则不会
  • 单引号中转义了反斜杠本身,所以还是表示的一个反斜杠
  • 单引号中的双引号不需要转义即可直接表示,所以 \" 反而成了一个反斜杠和一个双引号,而双引号在双引号字符串中就需要反斜杠来转义
  • 反斜杠转义了紧跟着的空格,转义后还是空格,所以输出是两个空格符
  • 反斜杠转义了一个双引号,表示了双引号本身(见 #3)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-11 21:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表