Ruby 什么决定了irb返回/显示的内容?

Ruby 什么决定了irb返回/显示的内容?,ruby,irb,Ruby,Irb,irb如何决定如何表示从语句返回的对象 > "foo" => "foo" > 2 => 2 >“福” =>“foo” > 2 => 2 我认为它相当于打印对象。检查或类似的东西,但我尝试的任何东西都不会返回相同的输出。嗯,irb实现了一个。它在幕后几乎做到了这一点: loop do '> '.display input = gets.chomp value = eval input puts " => #{value.inspect}" end 嗯,irb实现了一个

irb如何决定如何表示从语句返回的对象

> "foo" => "foo" > 2 => 2 >“福” =>“foo” > 2 => 2
我认为它相当于打印对象。检查或类似的东西,但我尝试的任何东西都不会返回相同的输出。

嗯,
irb
实现了一个。它在幕后几乎做到了这一点:

loop do
  '> '.display
  input = gets.chomp
  value = eval input
  puts " => #{value.inspect}"
end

嗯,
irb
实现了一个。它在幕后几乎做到了这一点:

loop do
  '> '.display
  input = gets.chomp
  value = eval input
  puts " => #{value.inspect}"
end

在两个示例上调用
inspect
,可以得到给定的输出。也许提供一个不正确的例子?它只是打印obj.inspect,其中obj是上一个表达式的返回值hm。。。你说得对。当我问这个问题时,我正在pry的上下文中试验一个
HTTParty::Response
,它使用了pretty\u inspect。我找不到在哪里为
HTTParty::Response
定义了pretty\u inspect。。。这可能会回答我的困惑。对两个示例调用
inspect
,可以得到给定的输出。也许提供一个不正确的例子?它只是打印obj.inspect,其中obj是上一个表达式的返回值hm。。。你说得对。当我问这个问题时,我正在pry的上下文中试验一个
HTTParty::Response
,它使用了pretty\u inspect。我找不到在哪里为
HTTParty::Response
定义了pretty\u inspect。。。这可能会解决我的困惑。