Книга: Программирование на языке Ruby

10.1.21. Чтение всего файла в память

10.1.21. Чтение всего файла в память

Чтобы прочитать весь файл в массив, не нужно даже его предварительно открывать. Все сделает метод IO.readlines: откроет файл, прочитает и закроет.

arr = IO.readlines("myfile")
lines = arr.size
puts "myfile содержит #{lines} строк."
longest = arr.collect {|x| x.length}.max
puts "Самая длинная строка содержит #{longest} символов."

Можно также воспользоваться методом IO.read (который возвращает одну большую строку, а не массив строк).

str = IO.read("myfile")
bytes = arr.size
puts "myfile содержит #{bytes} байтов."
longest=str.collect {|x| x.length}.max # строки - перечисляемые объекты!
puts "Самая длинная строка содержит #{longest} символов."

Поскольку класс IO является предком File, то можно вместо этого писать File.deadlines и File.read.

Оглавление книги

Оглавление статьи/книги

Генерация: 2.483. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз