Q
Ruby中的自省
1
A
回答
2
你可以做const_get檢查,如果你檢查是否常量首先定義:
[:Integer, :Dog, :Fixnum, :String, :Rat].select{ |x| Object.const_defined?(x) && Object.const_get(x).class === Class }
=> [:Integer, :Fixnum, :String]
2
我討厭使用eval
但是....
[:Integer, :Dog, :Fixnum, :String, :Rat].select{|x| defined? x.to_s && Class === eval(x.to_s)}
我試圖Kernel.const_get
,但不能得到那個工作。
0
ObjectSpace.each_object(Class).map(&:name).map(&:to_sym) & [:Integer, :Dog, :Fixnum, :String, :Rat]
=> [:Fixnum, :Integer, :String]
相關問題
- 1. 自省
- 2. Ruby-節省用戶輸入
- 3. 在ruby中省略截斷鏈接
- 4. Ruby on Rails的活動記錄屬性自省
- 5. kohana列自省
- 6. JavaBean的自省Servlet中[Tomcat的]
- 7. 目標C自省
- 8. Python反向自省
- 9. QtScript自省/反思?
- 10. ROS對象在Python中的自省
- 11. 在JSP中自動省略的空白
- 12. Python中的變量名自省
- 13. SQLAlchemy的關係自省
- 14. 用於Java自省的庫
- 15. Python:實用的自省
- 16. Ruby on Rails表格中模型字段的缺省值
- 17. 在Java中自動省略字符串
- 18. 如何在R中進行自省
- 19. 模型自省/反思
- 20. Java反射 - 方法自省
- 21. Django數據庫自省
- 22. 多重jar文件自省
- 23. Python類實例自省
- 24. 在Ruby on Rails中將時間節省到Postgres數據庫
- 25. Java中的內省
- 26. Clojure中的內省
- 27. 如何在Ruby中使用省略Test :: Unit :: TestCase來省略/跳過某個方法/測試的執行
- 28. Win32com模塊/ pythoncom模塊的自省
- 29. D語言的語言自省
- 30. python自省未顯示鎖的功能