String을 사용하는 것과는 반대로 Ruby의 StringIO를 사용하는 것이 적절한 경우는 언제입니까?String과는 반대로 Rubio에서 StringIO를 사용하면 어떤 이점이 있습니까?
"What is ruby's StringIO class really?"으로 강조 표시된 이들 간의 근본적인 차이점을 이해하고 있다고 생각합니다. StringIO를 사용하면 스트림 지향 방식으로 String을 읽고 쓸 수 있습니다. 그러나 이것은 실질적으로 무엇을 의미합니까?
단순히 String을 사용하여 실제로 잘라내 지 않을 때 StringIO를 사용하는 실제적인 사용 예는 무엇입니까?
흥미 롭습니다. String과 반대로 StringIO를 사용할 때 (메모리 사용과 관련하여) 어떤 이점이 있습니까? –
아마도 그렇지 않습니다. 소스 코드를 살펴보면 String 객체에 대한 참조를 내부적으로 유지하는 것처럼 보이므로 일반적인 문자열보다 약간 더 많은 메모리가 사용됩니다. https://github.com/ruby/ruby/blob/trunk/ext /stringio/stringio.c –
'StringIO'를 사용한다면 메모리가 없지만, IO 객체를위한 함수를 설계한다면 파일로부터 읽는 것과 같은 일을 할 수 있고 그렇지 않으면 연산을 파이프 할 수 있습니다. 따라서 IO 객체를 사용하는 함수는 적절한 클래스와 함께 사용되는 경우 메모리를 적게 사용할 수 있습니다. 따라서 이것은 동일한 방식으로 String 또는 아마도 더 효율적인 IO 객체에서 작업 할 수있게합니다. –