2015-06-01 3 views
3

Внутри модуля есть ли зарезервированные имена классов?Внутри модуля есть ли зарезервированные имена классов?

module MyLibrary 
    class Class 
    end 

    class Object 
    end 

    class Banana < Object 
    end 
end 

Рубин не кажутся быть смущен.

MyLibrary::Object.new.is_a?(::Object) 
#=> true 
MyLibrary::Class.new.class 
#=> MyLibrary::Class 
MyLibrary::Class.class 
#=> Class 
MyLibrary::Banana.new.is_a?(::Object) 
#=> true 
MyLibrary::Banana.new.is_a?(MyLibrary::Object) 
#=> true 
MyLibrary::Banana.ancestors 
#=> [MyLibrary::Banana, MyLibrary::Object, Object, Kernel, BasicObject] 

ответ

4

Только рубиновые зарезервированные слова типа BEGIN и END. На самом деле они могут быть единственными.

http://docs.ruby-lang.org/en/2.2.0/keywords_rdoc.html

Подобно тому, как FYI Rails имеет отдельный список зарезервированных слов.

+2

Почему бы не ссылаться на [официальную документацию по ключевым словам] (http://docs.ruby-lang.org/en/2.2.0/keywords_rdoc.html)? – cremno

+0

@cremno thx. Обновлено. – osman

Смежные вопросы