婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby中的p和puts的使用區(qū)別淺析

Ruby中的p和puts的使用區(qū)別淺析

熱門標簽:柯城手機地圖如何做地圖標注 外呼線路從哪里出來的 天津外呼系統(tǒng)怎么收費 巫師3地圖標注魔力之所 征服者企業(yè)地圖標注 淮安自動外呼系統(tǒng)供應商 中牟外呼系統(tǒng)違法嗎 AI電銷機器人 線路 漯河電銷

p 和 puts 是 Ruby 中特別常用的方法,很多童鞋可能認為它們是差不多的,使用的時候也不加注意,但是仔細考究起來,它們是有明顯差別的。

先舉一個例子

復制代碼 代碼如下:

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, 使用的方便是明顯區(qū)別的,p 是使用 obj 的 inspect 方法,而 puts 是 to_s 方法。

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

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

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

標簽:河池 西雙版納 南昌 大慶 內江 甘孜 克拉瑪依 棗莊

巨人網絡通訊聲明:本文標題《Ruby中的p和puts的使用區(qū)別淺析》,本文關鍵詞  Ruby,中的,和,puts,的,使用,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby中的p和puts的使用區(qū)別淺析》相關的同類信息!
  • 本頁收集關于Ruby中的p和puts的使用區(qū)別淺析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 新巴尔虎左旗| 安国市| 吉林市| 卓资县| 六盘水市| 枣阳市| 琼海市| 当雄县| 涿鹿县| 寿阳县| 建水县| 盐边县| 黄大仙区| 鹤壁市| 拜城县| 普兰县| 綦江县| 德保县| 广灵县| 福州市| 同德县| 泾阳县| 汽车| 宜良县| 乐东| 亚东县| 井冈山市| 射洪县| 宝坻区| 甘谷县| 安阳县| 明溪县| 和林格尔县| 洛浦县| 滁州市| 来凤县| 淳化县| 泰来县| 湛江市| 连云港市| 甘南县|