Wie bewertet Ruby-doppelte Anführungszeichen (auch bekannt als „“) vs. String.new?

8

Was ist der Unterschied, wie Ruby eine neue Zeichenfolge mit doppelten Anführungszeichen ( "" ) und String.new initialisiert? Aus Neugier- und Experimentiergründen habe ich String#initialize :

überschrieben %Vor%

Was ich herausfinden möchte, ist: Warum unterscheiden sich diese beiden Beispiele?

%Vor%

Das ist nervig zu recherchieren, da sich jedes Google-Ergebnis auf die grundlegende Ruby-Syntax konzentriert und ich in der Ruby-Dokumentation nichts gefunden habe.

    
amorphid 22.04.2013, 03:47
quelle

1 Antwort

9

Nach Matz :

  

String-Objekte   für Literale sind bereits in der Kompilierzeit erstellt, was weit ist   bevor Sie die Initialisierungsmethode neu definieren. Die individuelle Zeichenfolge   Objekte aus Literalen sind nur Kopien der bereits zugewiesenen und   initialisierte Objekte. Der ganze Zweck der Initialisierungsmethode besteht darin,   initialisieren neu erstellte Objekte, wie der Name schon sagt. Ich fühle nicht   Sie müssen die (redefined) initialize-Methode für string aufrufen   Literale, die bereits zur Kompilierzeit initialisiert wurden.

    
Darshan Rivka Whittle 22.04.2013 04:09
quelle

Tags und Links