Ruby 印出方法 — print, puts 及p之比較
Jun 20, 2018
使用Ruby時,當想要將變數值、陣列之類的內容印出時,可以使用到print、puts及p等方法,相較於Python印出值的方式就是使用print函式,Ruby 算是提供較多種方式來印出內容,不過每種方式的效果都有些微不同,不過大致上都會是印出陣列轉成字串的內容,例如陣列 a = [1,2,3]
,印出結果大多會是 a.to_s
,以下簡單整理三種Ruby提供的印出函式比較如下表
要注意的地方大概以下 3點:
- 基本上,只有使用p的時候,會回傳值,print跟puts都不會回傳值。
- print跟p都會印出資料如陣列轉為字串的結果,但puts則是會依序把陣列項目印出,puts可以搭配使用inspect,也可以達到印出整個陣列轉為字串的效果,但基本上還是不會回傳值。
- puts跟p在印出值之後會換行,但print不會。
可以依據上述的說明print、puts跟p的不同特性,在撰寫程式時選擇最適合的使用。