Получить "вид" класса и экземпляра класса - PullRequest
1 голос
/ 27 июля 2011

Я использую Ruby on Rails 3.0.9, и я хотел бы проверить, является ли объект классом или экземпляром класса.Например, если у меня есть

Article  # It is a class name
@article # It is an instance of the Article class

, возможно, я могу сделать что-то вроде следующего:

kind?(Article)  # => class
kind?(@article) # => class_instance

Как я могу получить эту информацию?

Ответы [ 2 ]

3 голосов
/ 27 июля 2011

Object имеет метод с именем class:

@article.class # => Article

Там также kind_of?:

if @article.kind_of? Class
   # class type
elsif @article.kind_of? Article
   # other type
end
1 голос
/ 27 июля 2011

Класс является объектом класса Class:

class A
end

Class === A       #=> true
Class === A.new   #=> false
A === A.new       #=> true

A.new здесь находится объект класса A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...