ruby - Ruby 中的内省(introspection)

标签 ruby reflection introspection

我操作一个符号数组,其中一些可能是 Ruby 类名(例如:Fixnum)。

如何选择它们?

当然,我事先并不知道这些符号的完整列表... 当然,我在 Ruby 中这样做。

最佳答案

如果先检查const是否定义,则可以使用const_get进行检查:

[:Integer, :Dog, :Fixnum, :String, :Rat].select{ |x| Object.const_defined?(x) && Object.const_get(x).class === Class }
=> [:Integer, :Fixnum, :String]

关于ruby - Ruby 中的内省(introspection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6707791/

相关文章:

ruby-on-rails - 最小化对 Rails 中数据库的调用

c# - 使用参数调用方法会出错

c# - 有没有办法在 C# 中获取对调用对象的引用?

c# - 获取 Action 名称作为属性参数的字符串

python - 内省(introspection)调用函数的pytest fixture

scala - 通过反射获取案例类的参数

ruby - 如何将 SHA1 哈希字符串截断为 32 位字符串

javascript - 将 Angular 注入(inject) Rails

jquery - 如何将标签内容(例如标签名称和属性)显示为字符串?

ruby-on-rails - Rails,一年中的某一天