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