Quando si considera corretto utilizzare Stringy di Ruby anziché utilizzare semplicemente String?Quali sono i vantaggi dell'uso di StringIO in Ruby rispetto a String?
Penso di capire la differenza fondamentale tra di loro come evidenziato da "What is ruby's StringIO class really?", che StringIO consente di leggere e scrivere da/a una stringa in modo orientato al flusso. Ma cosa significa questo praticamente?
Quale è un buon esempio di utilizzo pratico per l'utilizzo di StringIO quando semplicemente l'uso di String non lo taglia davvero?
Interessante. Ci sono dei vantaggi (per quanto riguarda l'utilizzo della memoria) nell'uso di StringIO anziché di String? –
Probabilmente no. Se si guarda il codice sorgente sembra che mantenga un riferimento ad un oggetto String internamente, quindi userà un po 'più di memoria di una stringa normale: https://github.com/ruby/ruby/blob/trunk/ext /stringio/stringio.c –
Anche se non si dispone di un vantaggio di memoria se si utilizza 'StringIO', se si progettano le funzioni per oggetti IO, è possibile eseguire operazioni come leggere da un file e, altrimenti, eseguire operazioni di pipe. Quindi una funzione che accetta un oggetto IO può utilizzare meno memoria se viene utilizzata con una classe appropriata. Quindi, questo ti consente di operare su una stringa o su un oggetto IO possibilmente più efficiente allo stesso modo. –