转自:[url]http://www.cnblogs.com/yjmyzz/archive/2010/02/22/1671130.html[/url]
共同点:都是用来屏幕输出的。
不同点:
puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号);另外如果内容参数中有转义符,输出时将先处理转义再输出
p 基本与puts相同,但不会处理参数中的转义符号
print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符
输出结果为(SciTE编辑器环境):
"aaaa\nbb\tbb"
"****************"
aaaa
bb bb
"****************"
aaaa
bb bb>Exit code: 0
另外,在输出双字节的字符,比如全角英文或汉字时,p会输出对应的二个字节对应的数字,而非字符
运行结果:
"\326\320"
中
中>Exit code: 0
共同点:都是用来屏幕输出的。
不同点:
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
本文详细介绍了 Ruby 语言中 puts、p 和 print 三个输出函数的区别与联系。puts 在输出内容后会自动换行并处理转义符;p 不会处理转义符且输出双字节字符时显示对应的字节;而 print 则不会自动换行。

被折叠的 条评论
为什么被折叠?



