У красного нет открытой функции, как у Rebol?

Я хочу прочитать 10 строк с конца большого текстового файла, не загружая весь файл в память.

Я хотел попробовать использовать Open, как описано здесь для Rebol Каков идиоматический способ чтения текстового файла построчно в Rebol?

Но у Red нет открытой функции?


person user310291    schedule 15.11.2017    source источник
comment
Полный ввод-вывод пока недоступен в красном цвете. Подождите 0.7.0 trello.com/b/FlQ6pzdB/red-tasks-overview   -  person sqlab    schedule 15.11.2017


Ответы (2)


Вы можете попробовать read/lines/seek/part %yourfile offset blocksize

Но я понятия не имею. Вы должны проверить и адаптировать смещение и размер блока.

person sqlab    schedule 15.11.2017
comment
Существует разница между простой реализацией ввода-вывода read/part/lines в Rebol и Red. На Rebol он читает количество строк, указанное в параметре part. В красном он сначала читает part файла, а затем разбивает его на lines. Таким образом, read/lines/part %file 2 возвращает разные результаты для Red и Rebol. Я думаю, что это будет исправлено на Red, когда будет реализован полный ввод-вывод. - person endo64; 16.11.2017
comment
Но с помощью read / lines / seek / part вы можете написать свою собственную функцию чтения строки. Но поскольку сборщик мусора недоступен, вероятно, нет никаких преимуществ по сравнению с одновременным чтением всего файла. Только если вы знаете размер файла и хотите видеть последние строки, тогда есть некоторые преимущества. - person sqlab; 16.11.2017

Красный еще не имеет open функции . Полная поддержка ввода-вывода запланирована в версии 0.7.0. Поэтому вам нужно либо подождать, либо напрямую использовать вызовы ОС.

person rebolek    schedule 16.11.2017