ruby 哪些特殊字符需要转义

Python011

ruby 哪些特殊字符需要转义,第1张

字符串 含义

\a 替换成Bell声所对应的符号

\nnn nnn表示一个八进制数值,替换成该八进制所对应的字符

\b 退格符,替换成退格键所对应的字符

\xnn xnn表示一个十六进制数,替换成该十六进制数所对应的字符

\e 替换成Escape键对应的字符

\cx替换成Ctrl+X组合键对应的字符,其中x可以是任意键对应的字符

\C-x 替换成Ctrl+X组合键对应的字符,其中x可以是任意键对应的字符

\n 换行符,替换成一个空行

\M-x 替换成Alt+X组合键对应的字符,其中x可以是任意键对应的字符

\r 回车符,替换成一个回车

\M-\C-x 替换成Ctrl+Alt+X组合键对应的字符,其中x可以是任意键对应的字符

\s 空白符,替换成一个空白字符

\t 替换成一个Tab键所对应的字符

\v 替换成一个垂直Tab键所对应的字符

#{expr}替换成变量或者表达式expr所对应的值

(1)puts会识别双引号内的转义符,并自动换行

(2)p不会识别双引号内的转义符,并自动换行

(3)print会识别双引号内的转义符,不自动换行

点击(此处)折叠或打开

irb(main):003:0>puts "a", "\nb"

a

b

=>nil

irb(main):004:0>p "a", "\nb"

"a"

"\nb"

=>nil

irb(main):005:0>print "a", "\nb"

a

b=>nil

共同点:都是用来屏幕输出的。

不同点:

puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号);另外如果内容参数中有转义符,输出时将先处理转义再输出

p 基本与puts相同,但不会处理参数中的转义符号

print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符

s = "aaaa\nbb\tbb"

p s

p "****************"

puts s

p "****************"

print s

输出结果为:

"aaaa\nbb\tbb"

"****************"

aaaa

bb bb

"****************"

aaaa

bb bbend

另外,当ruby源程序使用utf-8编码时,用p汉字时会转换成unicode值

s ="中"

p s

puts s

print s

运行结果:

"\u4E2D"