Положение файла в ракетке - PullRequest
0 голосов
/ 03 февраля 2011

Мне интересно, есть ли что-то в Racket для манипулирования положением файла во входном порте. В моем случае мне нужно сделать так, чтобы указатель на файл возвращался на одну позицию в случае, если я читаю то, что мне не следовало читать.

например. "Я сбит с толку." в файле test.txt. тогда указатель файла после запутывается раньше. (Похоже) Так что я могу сделать так, чтобы в следующий раз, когда я прочитал строку, я получил «я», а не «.» ??

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

Рассмотрим, например, peek-string.Он идентичен read-string, за исключением того, что возвращаемые символы сохраняются в порту для последующего чтения.

1 голос
/ 03 февраля 2011

Для завершения есть функция file-position, которая может извлечь текущую позицию или изменить ее. Но, как правило, вам следует избегать этого, поскольку он заставляет код работать только на портах, где вы можете изменить позицию - и это не всегда так. Как указал Ясир, для всех функций чтения обычно есть «заглядывающая» версия, которая читает что-то без перемещения позиции, и это лучшее решение.

...