我操作一个符号数组,其中一些可能是 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/