print、puts、p方法都是输出,都可以待多个参数,但三种输出又有所不同。
print 输出”“内的内容会识别转义符,并 不会 自动化换行
irb(main):002:0> print "hello","\n","ruby!"
hello
ruby!=> nil
puts
puts 跟print一样输出“”内的内容会识别转义符,但是puts会自动化换行
irb(main):005:0> puts "hello","ruby","\n隔了一行"
hello
ruby
隔了一行
p
p 输出的不仅仅是“”内的内容,而且是会把“”也输出,而且 不会 识别转义符,但是会自动化换行
irb(main):013:0> p "hello","\n没转义,但是换行了"
"hello"
"\n没转义,但是换行了"
补充:”” 和 ’ ’ 的区别
用 ’ ’ 的程序会原封不动的直接输出,例如:
irb(main):014:0> puts '\nhello\n'
\nhello\n
但是也有例外,例如在字符串里想嵌入 \ 和 ’ 时,还需要添加转义符\。
irb(main):016:0> puts '\\hello\',word'
\hello',word
参考来源《ruby基础教程》