Ruby führt einige Verschmelzungen durch - Methoden verwenden ()
, aber Arrays, Hashes und Lambda-Ausdrücke (die engste Sache, die Ruby haben muss) können alle []
verwenden. Zusammen mit dem Ducktyping bedeutet dies, dass Sie ein Objekt weitergeben und Werte übergeben können, indem Sie []
verwenden, egal, ob es vorausberechnet ist (ein Array), jedes Mal berechnet (ein Lambda-Ausdruck) oder nach Bedarf berechnet und zwischengespeichert wird (was mit ein Hash).
Ein weiteres Beispiel, das die beiden zusammenfasst, ist Haskell. Wie ich mich erinnere, hat es keine in die Sprache integrierte Array-Syntax - der Zugriff auf Array-Indizes ist ein Funktionsaufruf und kann wie jede andere Funktion verwendet werden.
Ich bevorzuge eigentlich die Zusammenführung - es ermöglicht eine einfachere Flexibilität (was ich mag). Zu wissen, ob Sie für Geschwindigkeit oder Speicher optimieren (wie David sagte) ist gut zu wissen, aber ich bin bereit, diese Verantwortung auf mich selbst zu übernehmen, anstatt es in der Sprache eingebaute Hinweise zu lassen.
Offensichtlich ein subjektives Thema in der Programmiersprache Design ... –