查看下面puts
语句的输出的正确方法是什么?我为这么简单的问题道歉......我对红宝石有点生疏了。 github repo
require 'active_support'
require 'active_support/core_ext'
require 'indicators'
my_data = Indicators::Data.new(Securities::Stock.new(:symbol => 'AAPL', :start_date => '2012-08-25', :end_date => '2012-08-30').output)
puts my_data.to_s #expected to see Open,High,Low,Close for AAPL
temp=my_data.calc(:type => :sma, :params => 3)
puts temp.to_s #expected to see an RSI value for each data point from the data above
答案 0 :(得分:3)
或许查看awesome_print
gem。
它提供了.ai
方法,可以在任何方法上调用。
一个例子:
my_obj = { a: "b" }
my_obj_as_string = my_obj.ai
puts my_obj_as_string
# ... this will print
# {
# :a => "b"
# }
# except the result is colored.
您可以使用ap(my_obj)
将所有这些内容缩短为一步。
还有一种将对象作为HTML返回的方法。它是my_obj.ai(html: true)
选项。
答案 1 :(得分:1)
如果要查看对象的内部属性,只需使用.inspect
方法而不是.to_s
。