Sadece String kullanmak yerine, Ruby's StringIO'yu kullanmak uygun olarak düşünülüyor mu?StringIO'nun String'e karşı olarak Stringio kullanmanın avantajları nelerdir?
"What is ruby's StringIO class really?" ile vurgulananlar arasındaki temel farkı anlıyorum ve StringIO'nun bir dize akış yönelimli bir şekilde okuma/yazma yapabilmesini sağladığını düşünüyorum. Ama bu pratik olarak ne anlama geliyor?
Sadece String kullanıldığında StringIO kullanıldığında pratik kullanım için iyi bir örnek nedir?
İlginç. StringIO’yu String’e karşı kullanırken (bellek kullanımıyla ilgili) herhangi bir avantaj var mıdır? –
Muhtemelen değil. Kaynak koduna bakarsanız, dahili olarak bir String nesnesine bir başvuru tutar gibi görünür, bu yüzden normal bir dizeden biraz daha fazla bellek kullanır: https://github.com/ruby/ruby/blob/trunk/ext /stringio/stringio.c –
Eğer 'StringIO' kullanıyorsanız, bir bellek avantajı olmasa da, IO nesneleri için fonksiyonlarınızı tasarlarsanız, bir dosyadan okunabilir ve başka bir şekilde boru işlemlerini bir arada yapabilirsiniz. Dolayısıyla, bir IO nesnesini alan bir işlev, uygun bir sınıfla kullanıldığında daha az bellek kullanabilir. Böylece, bu bir String veya daha verimli bir IO nesnesinde aynı şekilde çalışmanıza izin verir. –