麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

淺析Ruby中的p和puts的使用區別

2020-02-24 15:38:22
字體:
來源:轉載
供稿:網友

p和puts是Ruby中最常用的方法。許多同學可能會認為它們是相同的,而且它們不會被注意使用,但是仔細研究后,它們會明顯不同,武林技術頻道小編和大家分享淺析Ruby中的p和puts的使用區別。

先舉一個例子

復制代碼 代碼如下:

class Foo
??? def inspect
????? "foo from inspect"
??? end

?

??? def to_s
????? "foo from to_s"
??? end
? end

? foo = Foo.new
? p foo
? puts foo
? p "p: <#{foo}>"
? puts "p: <#{foo}>"

?

這段代碼的輸出是

復制代碼 代碼如下:

foo from inspect
foo from to_s
p: <foo from to_s>
puts: <foo from to_s>

?

p obj 相當于 puts obj.inspect,而 puts obj 相當于 puts obj.to_s, 使用的方便是明顯區別的,p 是使用 obj 的 inspect 方法,而 puts 是 to_s 方法。

為什么會這樣呢?這個我想可以從 to_s 和 inspect 的區別說起,to_s 是對象的字符串表示, 是 puts 和雙引號字符使用的方法。inspect 是對象狀態的表示,通用用于 debug 中。 Object 中的定義了 to_s 和 inspect 方法,默認都是返回對象的類名和地址。

所以p 和 puts主要是用途的不同,p 是作為 debug 輸出,而 puts 作為對象的字符串表示輸出。

另外值得一提的是,在 irb console 中,命令行中表達式求值,使用的是 p 對象的 inspect 方法。另外,通常 debug 輸出命令,也是使用對象的 inspect 方法。

以上就是關于淺析Ruby中的p和puts的使用區別,如果你還想了解更多技術頻道的信息,你可以來關注武林技術頻道網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 欧美一级片一区 | 特级毛片免费视频 | av电影在线免费观看 | 日本不卡视频在线观看 | 在线免费观看毛片视频 | 欧美1| 神秘电影91 | 五月婷婷第四色 | 久色网站 | 麻豆视频国产在线观看 | 毛片a级毛片免费播放100 | 午夜视频国产 | 亚洲最黄视频 | 久久小视频 | 爱操影院 | 毛片a区 | 日产精品久久久一区二区开放时间 | 亚洲第一成人在线视频 | 久草在线免费看 | 天堂成人国产精品一区 | 国产婷婷一区二区三区 | 黄色av电影在线播放 | 亚洲午夜在线观看 | 黄色片观看 | 在线观看中文字幕国产 | 亚洲欧美日韩在线 | 亚洲电影在线播放 | 久久激情小视频 | 草莓视频在线导航 | 国产免费一区二区三区网站免费 | 国产精品欧美久久久久一区二区 | 欧美激情综合网 | 国产精品久久在线观看 | 成人免费观看49www在线观看 | 青青操国产 | 国产精品久久久久久婷婷天堂 | 99精美视频 | 国产一级毛片在线看 | 一级成人毛片 | 亚洲乱操| 99激情视频 |