Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Sie können sich Strukturtypen als eine Form von typsicherem Duck-Typing vorstellen. Duck-Typing ist die verbreitete Bezeichnung für die Art und Weise, in der die Methodenresolution in dynamisch typisierten Sprachen funktionert. Wenn Sie beispielsweise in Ruby starFighter.shootWeapons schreiben, dann sucht die Laufzeitumgebung nach einer Methode shootWeapons an dem Objekt, das durch starFighter referenziert wird. Wenn eine solche Methode gefunden wird, kann sie in der zum Instanziieren von starFighter verwendeten Klasse, in einem ihrer Elterntypen oder in einem »inkludierten« Modul definiert sein. Die Methode könnte dem Objekt aber auch durch die Metaprogramming-Features von Ruby hinzugefügt worden sein. Schließlich könnte das Objekt auch die Catch-all-Methode method_missing überschrieben haben und beim Erhalt der »Nachricht« shootWeapons irgendetwas Sinnvolles tun.