共同点:都是用来屏幕输出的。
不同点:
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"
中
中