TopClone
@TopClone
Новичек

Как исправить проблему с открытием txt файла?

Данный код легко открывает f.txt файл и записывает ключи в отдельный массив. Файл f.txt содержит не более 10 строк.

c = Hash[*File.read('f.txt', encoding: "utf-8").split(/[:: :: \n]+/)]
n = c.each_key.to_a
puts n


Но вот, когда я начинаю работу с файлом в 70 тыс. строк, в консоли выходит ошибка

tut.rb:13:in `[]': odd number of arguments for Hash (ArgumentError)
from tut.rb:13:in `'


Не знаете что с этим делать? Может есть какое-то ограничение на кол-во символов в хэше?

P.S. Спасибо, я нашел в чем проблема. Оказалось, что аргументы включающие в себя пробелы ломают всю картину. Не знаете: как объяснить Ruby, что допустим "All over again" это один агрумент?
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 1
alsopub
@alsopub
Скорее всего у вас в файле что-то не то.
Возможно там есть строка с неправильным количеством разделителей.
Ошибка говорит - нечетное число аргументом для хэша.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы