第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

p vs放入Ruby

p vs放入Ruby

猛跑小豬 2019-10-25 09:27:02
p和putsRuby 之間有什么區(qū)別嗎?
查看完整描述

3 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊

p foo打印foo.inspect跟著一個新行,即,它打印的值inspect代替to_s,這是更適合的調(diào)試(因為可以例如告訴之間的差1,"1"并且"2\b1",它可以不打印時不inspect)。


查看完整回答
反對 回復(fù) 2019-10-25
?
MMTTMM

TA貢獻(xiàn)1869條經(jīng)驗 獲得超4個贊

同樣重要的是要注意puts對已to_s定義的類的“反應(yīng)” p不會。例如:


class T

   def initialize(i)

      @i = i

   end

   def to_s

      @i.to_s

   end

end


t = T.new 42

puts t   => 42

p t      => #<T:0xb7ecc8b0 @i=42>

這直接來自.inspect調(diào)用,但是在實踐中并不明顯。


查看完整回答
反對 回復(fù) 2019-10-25
?
長風(fēng)秋雁

TA貢獻(xiàn)1757條經(jīng)驗 獲得超7個贊

除了上述答案外,控制臺輸出中還有細(xì)微的差別-即是否存在逗號/引號引起來-這可能是有用的:


p "+++++"

>> "+++++"


puts "====="

>> =====

如果您想使用它們的近親print創(chuàng)建一個簡單的進(jìn)度欄,那么我發(fā)現(xiàn)這很有用:


array = [lots of objects to be processed]

array.size

>> 20

這給出了100%的進(jìn)度條:


puts "*" * array.size

>> ********************

這會在每次迭代中添加一個增量*:


array.each do |obj|

   print "*"

   obj.some_long_executing_process

end


# This increments nicely to give the dev some indication of progress / time until completion

>> ******


查看完整回答
反對 回復(fù) 2019-10-25
  • 3 回答
  • 0 關(guān)注
  • 507 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號