10.1. Identyfikacja klasy obiektu i jej superklasy

Problem

Dla danego obiektu chcemy zidentyfikować jego klasę i superklasę, jako obiekty klasy Class.

Rozwiązanie

Każda klasa w języku Ruby jest obiektem klasy Class. Dla danego obiektu jego klasę zwraca metoda Object#class, zaś superklasę tej klasy — metoda Class#superclass:

'To jest napis'.class                             # => String
'To jest napis'.class.name                        # => "String"
'To jest napis'.class.superclass                  # => Object
String.superclass                                 # => Object
String.class                                      # => Class
String.class.superclass                           # => Module
'To jest napis'.class.new                         # => ""

Dyskusja

Klasa w języku Ruby, jako obiekt „pierwszej klasy” Class, jest wartością, którą można przypisywać zmiennym, przekazywać jako argument wywołania metody lub dynamicznie ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.