Empfohlener Ansatz zum Patchen einer Klasse in Ruby

Mir ist aufgefallen, dass es zwei Möglichkeiten gibt, eine Klasse in Ruby mit Affen zu patchen:

Definieren Sie die neuen Mitglieder in der Klasse wie folgt:

<code>class Array
   def new_method
     #do stuff
   end
end
</code>

Und rufe class_eval für das Klassenobjekt auf:

<code>Array.class_eval do
   def new_method
      #do stuff
   end
end
</code>

Ich frage mich, ob es einen Unterschied zwischen den beiden gibt und ob die Verwendung eines Ansatzes gegenüber dem anderen Vorteile hat.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage