2
irb如何決定如何表示從語句中返回的對象?什麼決定了irb返回/顯示的內容?
> "foo" => "foo" > 2 => 2
我還以爲是print object.inspect
相當於或一些這樣的事情,但沒有我嘗試返回相同的輸出。
irb如何決定如何表示從語句中返回的對象?什麼決定了irb返回/顯示的內容?
> "foo" => "foo" > 2 => 2
我還以爲是print object.inspect
相當於或一些這樣的事情,但沒有我嘗試返回相同的輸出。
那麼,irb
實現了REPL。它幾乎在幕後:
loop do
'> '.display
input = gets.chomp
value = eval input
puts " => #{value.inspect}"
end
在你的兩個例子中調用'inspect'產生給定的輸出。也許提供一個不正確的例子嗎? – 2012-04-21 02:23:45
它只是打印obj.inspect其中obj是以前的表達式的返回值 – texasbruce 2012-04-21 05:01:56
嗯......你是對的。當我問到我在pry的上下文中使用「HTTParty :: Response」進行試驗時,它使用了pretty_inspect。我找不到'HTTParty :: Response'定義的pretty_inspect在哪裏......這可能會解決我的困惑。 – 2012-04-22 00:36:05