Chapter 12. File and I/O operations
This chapter covers
- Keyboard input and screen output
- The IO and File classes
- Standard library file facilities, including FileUtils and Pathname
- The StringIO and open-uri library features
As you’ll see once you dive in, Ruby keeps even file and I/O operations object oriented. This is great for consistency—as your programs grow and begin interacting with other systems, you can fall back on your “(very nearly) everything is an object” understanding of Ruby and apply it to the utilities described in this chapter. Input and output streams, like the standard input stream or, for that matter, any file handle, are objects. Some I/O-related commands are more procedural: puts, for example, or the system method that lets you execute a system command. But puts is only procedural when it’s operating on the standard output stream. When you puts a line to a file, you explicitly send the message “puts” to a File object.