想象一下,我有雷博尔格式的数据的一个长的文件,用万线,这看起来像读取结构化数据时是否有比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如何在引擎盖下工作。当我看着时,我很惊讶它是一个夹层,它似乎读取整个数据源(即使你只是在做/下一步!)不确定的确切细节,但基于PARSE的LOAD夹层会有更多的增量阅读自然,并能够加载/返回? – HostileFork 2010-11-08 19:44:01
一个问题是PARSE不能在PORT上工作!目前,请参阅http://stackoverflow.com/questions/4127569/using-parse-on-a-port-value – HostileFork 2010-11-08 20:05:51
关于LOAD/BACK - 这当然是可以写的,但是有一个折衷 - 它需要时间和努力,而且这种用法只是例外。 – Ladislav 2010-12-27 09:55:18