gpt4 book ai didi

reflection - 应该如何写入和读取 Rebol 结构的数据文件(不包含代码)?

转载 作者:行者123 更新时间:2023-12-04 01:52:11 26 4
gpt4 key购买 nike

如果你建立一个 block 结构,用MOLD把它转换成一个字符串,然后把它写到一个文件里,像这样:

>> write %datafile.dat mold [
[{Release} 12-Dec-2012]
[{Conference} [12-Jul-2013 .. 14-Jul-2013]]
]

您可以稍后加载它。但是标题呢?如果一个文件包含代码,它应该以这样的标题开头:

rebol [
title: "Local Area Defringer"
date: 1-Jun-1957
file: %defringe.r
purpose: {
Stabilize the wide area ignition transcriber
using a double ganged defringing algorithm.
}
]

如果您只是写出数据并将其读回,您是否希望有一个 rebol [] header ,并使用您想要添加的任何属性来扩展它?您是否应该使用自己的属性提出自己的 myformat [] header 概念?

此外,考虑到 LOAD 进行绑定(bind),将它用于数据是否有意义,或者是否有不同的操作?

最佳答案

Rebol 数据不必须有标题,但最好包含一个标题(即使它只是数据)。

一些注意事项:

  • SAVE 是序列化到 file!port! 的最佳选择,并且具有包含 header 的机制。

  • MOLDSAVE 都有一个 /ALL 细化对应于 LOAD(没有 /ALLMOLDSAVE 中的某些数据无法可靠地恢复,包括 Object、Logic 和 None 值)。

  • LOAD 丢弃 header ,但您可以使用 /HEADER 优化加载它。

综合起来:

save/all/header %datafile.dat reduce [next "some" 'data][
title: "Some Data"
]

header: take data: load/header %datafile.dat

要使用 Rebol [] 以外的 header ,您需要设计一个单独的加载程序/保存程序。

关于reflection - 应该如何写入和读取 Rebol 结构的数据文件(不包含代码)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19257281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com