隨筆-167  評論-65  文章-0  trackbacks-0
          在rails 開發中,最基本的檢測錯誤的方法,莫過于 puts 和 p 的輸出了。。。。那么 它們有什么區別呢。。。

          查了下, 說 p 是經過 inspect 的,inspect的字面意思是 檢查 ,貌似 是檢查 占位符 ,但是還是云里霧里

          看兩個demo

          one:

          p "a", "\nb"
          結果:
          "a"
          "\nb"


          two:

          class SomeClass
            def initialize (arg_1, arg_2) # called with SomeClass.new
              @member_1 = arg_1
              @member_2 = arg_2
            end
            def print 
            puts "member_1: " + @member_1
              puts "member_2: " + @member_2
            end
          end

          sc1 = SomeClass.new('foo', 'bar')
          puts sc1.inspect
          p sc1
          puts sc1


          結果:
          #<SomeClass:0xb7c091b4 @member_1="foo", @member_2="bar">
          #<SomeClass:0xb7c091b4 @member_1="foo", @member_2="bar">
          #<SomeClass:0xb7c091b4>

          還有就是我們 最常用到的。。。查詢數據庫中一條數據記錄集

          @post = BlogPost.find(params[:id])
              p @post
              puts @post

          結果:
          #<BlogPost id: 18, blog_id: 30, topic_id: nil, client_info_id: nil, title: "測試", body: "測試測試測試測試測試測試測試測試測...", blog_post_comments_count: 0, type: "BlogPost", created_at: "2009-08-24 03:56:27", updated_at: "2009-08-24 03:56:27">
          #<BlogPost:0xb595b8b0>

          這樣 看起來 更一目了然。。。,p 把數據庫中的 字段 和值 都輸出 了, puts 只輸出 一個 對象的標識。。。

          ref:
          http://www.adp-gmbh.ch/ruby/language/inspect.html
          http://stackoverflow.com/questions/1255324/p-vs-puts-in-ruby
          http://blog.chinaunix.net/u1/37038/showart_489434.html





          write by feng
          posted on 2009-08-24 15:12 fl1429 閱讀(4113) 評論(0)  編輯  收藏 所屬分類: Rails
          已訪問數:
          free counters
          主站蜘蛛池模板: 民县| 北安市| 建德市| 娄底市| 溆浦县| 兴义市| 洪雅县| 内黄县| 汝南县| 娄底市| 那坡县| 永靖县| 石林| 方正县| 长丰县| 乌兰浩特市| 威海市| 新邵县| 新丰县| 井研县| 崇左市| 青浦区| 威海市| 海兴县| 石林| 安平县| 桃园县| 平凉市| 大余县| 张家口市| 丰宁| 布拖县| 松原市| 富源县| 靖宇县| 阿勒泰市| 屯昌县| 潞西市| 乾安县| 静安区| 江川县|