Ruby is dynamic, like human nature.
Matz, at RubyConf 2001
The phrase Ruby dynamics is almost redundant: everything about Ruby is dynamic. Variables don’t care what class of object you bind them to, which means you don’t have to (indeed, you can’t) declare their type in advance. Objects get capabilities from the classes that create them but can also branch away from their classes by having individual methods added to them. Classes and modules can be reopened and modified after their initial definitions. Nothing necessarily stays the same over the life cycle of the running program.
And those examples are just the beginning. In this last part of the book, we’ll look more deeply and widely than we yet have at the ways in ...