Ruby学习札记(6)-比较print、puts和p方法
首先,为了比较这3个方法的不同,打开Ruby的irb(即Interactive Ruby。没有?在“开始菜单”里找找吧,或者直接在Ruby安装目录下bin目录中找到irb.bat,拖到CMD中即可)。irb是Ruby编程交互式的环境,每输入一行代码,irb会出现提示。虽然手动输入很慢,但是写些小程序还是很方便直观的。
好了,直接进入文章的正题吧。
print方法一般输出字符串,不会自动换行,举个HelloWorld吧。
irb(main):018:0> print("Hello, Ruby.")
Hello, Ruby.=> nil
puts方法则会自动换行,如下
irb(main):019:0> puts("Hello, Ruby.")
Hello, Ruby.
=> nil
p方法的HelloWorld,如下
irb(main):020:0> p("Hello, Ruby.")
"Hello, Ruby."
=> "Hello, Ruby."
可见p方法也和puts方法一样会自动换行,并且有返回值,即输出的字符串,而print和puts的返回值为nil。
同时,p方法会区别字符串和数字,例如
irb(main):021:0> p("100")
"100"
=> "100"
irb(main):022:0> p(100)
100
=> 100
而print和puts不会区分字符串和数字,例如
irb(main):024:0> print(100)
100=> nil
irb(main):025:0> print("100")
100=> nil
irb(main):026:0> puts(100, "100")
100
100
=> nil
可以看到输出都是100,这里puts方法带了2个参数,print和p也可以使用多个参数。
最后,print、puts和p方法的区别其实很简单吧。