Ruby中p、print和puts的区别

print

  • 能识别转义符
  • 不会自动换行
  • 返回值为nil
  1. 1 print "Hello\nWorld"
    2 Hello
    3 World => nil

puts

  • 能识别转义符
  • 会自动换行
  • 返回值为nil
  1. 1 puts "Hello\nWorld"
    2 Hello
    3 World
    4  => nil

p

  • 不能识别转义符
  • 会自动换行
  • 返回值为不为nil
  • 能识别输出的是字符串还是数字(如果是字符串,则输出结果带有双引号)
  • 输出双字节的字符(如汉字)时,输出对应二字节对应的数字,而不是字符
  1. 1 p "Hello\nWorld"
    2 "Hello\nWorld"     #换行的转义符不能被识别
    3  => "Hello\nWorld"
    1 p "123"
    2 "123"  #字符串
    3  => "123"
    4 p 123
    5 123    #数字
    6  => 123
    1 p "计算机"
    2 "\350\256\241\347\256\227\346\234\272"
    3 => "\350\256\241\347\256\227\346\234\272"

    4 puts "计算机" #不用p则可以正常显示中文
    5 计算机
    6 => nil
posted @ 2013-05-10 10:32  Jing5022  阅读(341)  评论(0编辑  收藏  举报