如何从 ruby​​ 中的字符串名称创建类实例?

2024-05-16

我有一个类的名称,我想创建该类的一个实例,以便我可以循环该类的架构中存在的每个 Rails 属性。

我该怎么做呢?

  1. 我的名称是我想要检查的类的字符串
  2. 我想我需要实例化一个类实例,以便我可以
  3. 循环遍历它的属性并打印它们。

在 Rails 中你可以这样做:

clazz = 'ExampleClass'.constantize

在纯红宝石中:

clazz = Object.const_get('ExampleClass')

与模块:

module Foo
  class Bar
  end
end

你会用

> clazz = 'Foo::Bar'.split('::').inject(Object) {|o,c| o.const_get c}
  => Foo::Bar 
> clazz.new
  => #<Foo::Bar:0x0000010110a4f8> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 ruby​​ 中的字符串名称创建类实例? 的相关文章

随机推荐