共同点:都是用来屏幕输出的。
不同点:
puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号);另外如果内容参数中有转义符,输出时将先处理转义再输出
p 基本与puts相同,但不会处理参数中的转义符号
print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符
s = "aaaa\nbb\tbb" p s p "****************" puts s p "****************" print s
输出结果为(SciTE编辑器环境):
"aaaa\nbb\tbb"
"****************"
aaaa
bb bb
"****************"
aaaa
bb bb>Exit code: 0
另外,在输出双字节的字符,比如全角英文或汉字时,p会输出对应的二个字节对应的数字,而非字符
s = "中" p s puts s print s
运行结果:
"\326\320"
中
中>Exit code: 0