# encoding: utf-8
#
# Программа, демонстрирующая как читать файлы в руби.
#
# Перед открытием файла надо проверить — существует ли файл, методом exist? у
# класса File.
if File.exist?('./data/aphorizmus.txt')
  # Если файл существует, открываем его. Делаем это с помощью Встроенного в руби
  # класса File, в конструкторе которому передается путь к файлу.
  file = File.new('./data/aphorizmus.txt', 'r:UTF-8')

  # Теперь, когда у вас в переменной file объект класса File, мы можем
  # прочитать содержимое файла с помощью метода read у объекта file и сохранить
  # его в переменной content — это будет одна большая строка с символами
  # переноса и т.д.
  content = file.read

  # Выводим эту строку (все содержимое файла) на экран
  puts content
else
  puts 'Файл не найден'
end

# Обратите внимание, какой длинной получился у нас if. Обычно так не пишут, мы
# здесь привели этот код для примера. Правильнее было бы завершить программу с
# ошибкой, если файл не найден, а весь остальной код писать на том же уровне:
#
# unless File.exist?("./data/aphorizmus.txt")
#   abort "Файл не найден"
# end
#
# file = File.new(...)
#
# Конструкция unless работает также, как и if, только срабатывает наоборот, если
# условие НЕ выполнено. В нашем случае, мы вылетим с ошибокй, если файл НЕ
# существует. Удобно, не так ли! ;)
