Patterns are all about picking paths due to the problem and situation
at hand, and for better or worse, the programming language is a big
part of the situation at hand. Most of the GOF book deals with the
issues raised by statically typed oo languages, and aren’t as portable
as one might think.
+2
The language itself IS a pattern/structure that will determine and/or
enable patterns and structures!
Frameworks/libraries will tend to enforce patterns and structures.
Ruby is pretty open and fully object-oriented by design, while
enabling you to do procedural things to objects.
Rails is an example of a framework that really establishes and
enforces particular patterns and structures.
Simply by using code by others and using the language, you’ll find a
lot of these things quickly in Ruby.
Some things are well established patterns in C / C++ books (searching
& sorting algorithms) but they don’t always make sense as Ruby since
Ruby provides mechanisms that would be oh-so-much boiler plate code
in lower-level languages.