Я пытаюсь прочитать файлы и создать хэш-карту содержимого, но у меня возникают проблемы на этапе разбора. Пример текстового файла:
put 3
returns 3
between
3
pargraphs 1
4
3
#foo 18
****** 2
Слово становится ключом, а число - значением. Обратите внимание, что интервал довольно неустойчивый. Слово не всегда является словом (которое не определяется / \ w + /), и число, связанное с этим словом, не всегда находится в одной строке. Вот почему я называю это плохо сформированным. Если бы в одной строке было одно слово и одно число, я бы просто разделил его, но, к сожалению, это не так. Я пытаюсь создать хэш-карту, как это.
{"put"=>3, "#foo"=>18, "returns"=>3, "paragraphs"=>1, "******"=>2, "4"=>3, "between"=>3}
Исходя из Java, это довольно просто. Используя Scanner Я мог бы просто использовать scanner.next () для следующего ключа и scanner.nextInt () для номера, связанного с ним. Я не совсем уверен, как это сделать в Ruby, когда мне кажется, что я должен использовать регулярные выражения для всего.