Представьте себе, что у меня есть длинный файл Rebol-форматированных данных, с миллионами строк, которые выглядят как-тоЕсть ли более тонкая детализация, чем LOAD/NEXT для чтения структурированных данных?
REBOL []
[
[employee name: {Tony Romero} salary: $10,203.04]
[employee name: {Marcus "Marco" Marcami} salary: default]
[employee name: {Serena Derella} salary: ($10,000 + $203.04)]
...
[employee name: {Stacey Christie} salary: (10% * $102,030.40)]
]
Если блок вшита не был там, Я мог бы использовать LOAD/NEXT
для чтения элементов сотрудника по одному (в отличие от разбора всего файла на структурированные данные с помощью LOAD
). Есть ли способ сделать что-то подобное, если закрывающий блок есть?
Что делать, если я хотел вернуться к ранее посещаемому элементу? Может ли быть «структурный поиск»?
Есть ли жизнеспособное решение для баз данных, которое можно было бы использовать для такого рода пожеланий для данных, связанных с Rebol, которые могут даже допускать вставки с произвольным доступом?
Использовать PARSE для этого очень интересно, и вы заставили меня задаться вопросом, как LOAD работает под капотом. Когда я посмотрел, я был удивлен, что это мезонин, и он, кажется, ПРОЧИТАЕТ весь источник данных (даже если вы просто делаете/NEXT!) Не уверены в точном детале, но будет ли мезонин LOAD на основе PARSE иметь более инкрементный чтении, и быть способным НАГРУЗИТЬ/НАЗАД? – HostileFork
Одна из проблем заключается в том, что PARSE не будет работать на ПОРТУ! в настоящее время см. http://stackoverflow.com/questions/4127569/using-parse-on-a-port-value – HostileFork
Что касается LOAD/BACK - это, безусловно, можно будет писать, но есть компромисс - требуется время и и использование будет просто исключительным. – Ladislav