ich mit Funktionsdefinitionen vertraut bin und Variablendeklarationen in Klassendefinitionen sind:Was bedeutet Methodenklasse in der Klassendefinition in Ruby?
public class MyClass {
public int myvar;
public void doSomething() {
}
}
Aber was bedeutet es „bedeutet“ in Ruby, wenn eine Methode tatsächlich in der Klassendefinition genannt wird? Dies geschieht reichlich in Rails, zum Beispiel:
class User < ActiveRecord::Base
has_many :posts
end
Was genau dies zu tun hat (auf einem niedrigeren Niveau als „es einige Methoden zur Klasse fügt hinzu“)? Wie würde ich eine solche Funktion implementieren (z. B. eine, die einige zusätzliche Methoden mischt)?
Ich vermute, aber ich bin mir nicht sicher, dass einige Sprachen Code haben, der zur Kompilierzeit läuft und Code, der zur Laufzeit läuft. Ich denke Ruby läuft in der Regel zur Laufzeit. –