Как определить текущий открытый класс в Ruby?Ruby current class
ответ
Внутри тела в class
определения , self
относится к самому классу. Module#name
сообщит вам имя класса/модуля, но только если оно действительно имеет его. (В Ruby нет такого понятия, как «имя класса». Классы - это просто объекты, подобные любым другим, которые назначаются переменным точно так же, как и любые другие. Просто, если вам присваивается объект класса константе, тогда метод name
возвращает имя этой константы)
Пример:.
puts class Foo
name
end
# Foo
Но:
bar = Class.new
bar.name # => nil
BAR = bar
bar.name #=> 'BAR'
Внутри самого класса:
class_name = self.class
На инициализированного объекта с именем obj
:
class_name = obj.class
Вы используете «класс» в качестве переменной, а «класс» - это зарезервированное ключевое слово. Переименовать переменную 'class' – cristian
+1 Именно то, что мне нужно :) – onetwopunch
'class_name' по-прежнему не является отличным именем для этой переменной, поскольку это объект класса, а не строка имени. Лучшим именем для переменной может быть «класс». – aridlehoover
если у вас есть obj = SomeClass.new
вы получаете класса с obj.class
в моем случае, метод name
был переписал, я считаю to_s
дать мне это тот же результат
class Foo
puts self.name
puts self.to_s
end
#=> Foo
#=> Foo
- 1. rails css class = "current"
- 2. UITesting, XCTest current ViewController Class
- 3. Ruby/Rails .first .last .current?
- 4. inf-ruby eval current line
- 5. Ruby on rails - javascript current locale
- 6. Ruby - Class methods
- 7. Ruby Prime Class Issues
- 8. Ошибка Ruby Class 500
- 9. Ruby Abstract Class Design
- 10. Ruby Class vs Struct
- 11. Ruby inter class communication
- 12. Ruby get inherating class
- 13. Ruby Class Name
- 14. Ruby - :: in class name
- 15. module_function для Ruby Class
- 16. Быстрый справочный рефакторинг Ruby Class
- 17. Ruby Custom Class to Model
- 18. Ruby Quick Class Instance Scope
- 19. Ruby class 'split' не работает
- 20. 'Object' named class in Ruby
- 21. Plivo ruby gem class противоречивый
- 22. class() vs. type() в Ruby
- 23. Ruby Singleton, module vs class
- 24. Объект мусора класса Ruby Class
- 25. NoMethodError Ruby on Class Инициализировать
- 26. ruby get param of current dir in url
- 27. jQuery append current div
- 28. HtmlBeginCollectionItem Get Current Item
- 29. Ruby undefined method for nil class
- 30. Ruby custom class to и от YAML;
Это ваш «я»! –