Ruby中puts,p和print的区别

Python016

Ruby中puts,p和print的区别,第1张

(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"

#举个例子,分段函数的处理

puts "Please input x:" #输出一些文字

x = gets #等待用户用键盘输入信息

if x<2 #以下是判断输入信息及根据输入信息进行引导

y = x+4

else

y = 2*x

end

puts "The result is:#{y}"#输出结果