Про клас IO в Ruby

Клас IO в Ruby є основним інтерфейсом для вводу та виводу даних. Він є частиною стандартної бібліотеки Ruby і надає можливість роботи з файлами, потоками, сокетами та іншими джерелами даних. Розглянемо його детальніше:

  1. Робота з файлами
  • Використовуючи метод File.open або аналогічні методи, можна відкривати файли для читання, запису або обох.

    file = File.open("example.txt", "r") 
    # "r" - читання, "w" - запис, "a" - дописування
    
  • Клас IO надає методи для читання (read, gets) і запису (write, puts) до файлів.

    content = file.read
    file.puts "New line"
    
  • Файли потрібно закривати після використання.

    file.close
    
  1. Стандартний ввід-вивід
  • Для стандартного вводу, виводу та помилок використовуються вбудовані об’єкти STDIN, STDOUT та STDERR.
    input = STDIN.gets
    STDOUT.puts "Output"
    STDERR.puts "Error"
    
  1. Мережевий ввод-вивід
  • Ruby має класи для мережевого вводу-виводу, такі як TCPSocket та TCPServer, які дозволяють здійснювати з’єднання по TCP-протоколу.
    require 'socket'
    
    server = TCPServer.new(1234)
    client = server.accept
    
    client.puts "Hello, client!"
    client.close
    
  1. Інші операції
  • Клас IO також надає методи для роботи з потоками даних, такими як переміщення вказівника, визначення розміру файлу та інші операції.

    file.seek(0, IO::SEEK_SET) # Переміщення вказівника на початок файлу
    size = file.size # Отримання розміру файлу
    

Ці функції забезпечують потужні можливості для роботи з вводом-виводом в Ruby, що дозволяє легко працювати з файлами, мережами та іншими джерелами даних.