Aufruf selbst.senden Sie iterativ auf eine hash-argument initialisiert werden()

Ich versuche zu verstehen, der folgende Ruby-code.

Sieht es aus wie attrs ist ein hash, der bekommt als argument übergeben mit einem default-Wert ein leerer hash.

Dann attrs.each durchläuft die Schlüssel-Wert-Paare im hash (|k,v|).

Welche Wirkung wird erreicht durch Aufruf self.send auf die Elemente des key-value-pair-Mädchen während dieser iteration?

def initialize(attrs = {}, *args)
  super(*args)
  attrs.each do |k,v|
    self.send "#{k}=", v
  end
end
InformationsquelleAutor franz | 2009-06-10
Schreibe einen Kommentar