如何打印具有名称和值的类的实例变量?

时间:2017-01-05 10:21:35

标签: ruby

我有一个ActiveModel类SupportCase,其中包含某些实例变量(使用attr_accessor创建)。

对于该类的给定对象,我如何打印出其实例变量的名称以及值。

我试过了:

support_case.instance_variables.each { |a,b| puts "#{a} #{b}" }

support_case.instance_variables.each { |a| puts "#{a} #{support_case.send(a)}" }

后者没有工作,因为它创建了调用support_case.@var,而它应该是support_case.var。所以我可以删除@但是 必须有一些更清洁的方式来做我想做的事,对吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢Divya Sharma,我找到了我想要的方法:

var container = UnityConfig.GetConfiguredContainer();
var widgetBuilder = container.Resolve<IWidgetBuilder>("SinglePointWidgetBuilder");

我用以下方式(关于我的问题):

#instance_variable_get