为什么 string.size
和 string.length
2
?我认为应该是 3
。如果第一个 \
是一个转义字符,那么它不应该被打印出来。这就是第三个 \
的情况。
string='\\\'' # => "\\'"
string.size # => 2
string.length # => 2
最佳答案
If first
\
is escape character then it should not be printed out. That is what happened to 3rd\
.
不,因为正在打印的是 String#inspect
的结果, 它转义为双引号字符串。由于此处不需要对 '
进行转义,因此不需要转义字符 (\
)。
I think it should be 3
size
/length
不会说谎,所以当然是两个。
在单引号字符串中,\\
是单个字符\
,\'
是单个字符'
。所以生成的字符串是 \'
。 puts
比 inspect
更有用,因为它不显示任何转义,只显示文字内容:
puts '\\\''
# prints: \'
关于Ruby 字符串长度 "\\\' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19418157/