
Em Ruby, todos os dados, sejam um número, string, matriz ou mesmo uma classe em si, são tratados como um objeto.O ID do objeto é um aspecto importante do modelo de objeto do Ruby, pois permite diferenciar as instâncias de objetos, mesmo que eles contenham o mesmo valor.No entanto, essa flexibilidade vem com riscos, por isso é essencial usar classes abertas, pensativa (ou não usá -las, o código da biblioteca faz isso por nós).Mesmo objeto, é um objeto (mas muito básico, sem dependência do módulo do kernel)
Até o principal “contexto” do script rubi mais simplório:
Convencido?Como o Ruby nos permite reabrir as classes e definir dinamicamente os métodos (como att_accessor), é possível encontrar situações em que um método que esperamos não exista.