隨筆-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
          主站蜘蛛池模板: 湖北省| 凯里市| 金阳县| 吉安市| 临海市| 青神县| 桐庐县| 乐陵市| 榕江县| 绩溪县| 仁怀市| 西藏| 穆棱市| 伊川县| 樟树市| 景德镇市| 内江市| 沙坪坝区| 通道| 深泽县| 密云县| 陇南市| 柞水县| 巴塘县| 常州市| 苗栗县| 砚山县| 宝清县| 合作市| 太和县| 定西市| 黄山市| 秦安县| 铁岭市| 新龙县| 仁怀市| 茂名市| 元阳县| 天峨县| 平安县| 武山县|