我正在使用 Rebol2 并希望保留一个HASH!堵塞。
目前我正在转换它,to-string
然后使用save
.
有没有更好的办法?例如:
r: make hash! ["one" "two"]
我想将其保存到文件中,然后将其加载回r
.
你非常接近你的目标。只需使用save/all
和load
>> r: make hash! ["one" "two"]
== make hash! ["one" "two"]
>> save/all %htest r
>> r: load %htest
== make hash! ["one" "two"]
如果你想在Red中得到相同的结果,你只需要一个命令
>> r: do load %htest
== make hash! ["one" "two"]
你这样做就像使用任何其他值一样 - save
,然后load
。
hash!
顺便说一句,使用持久存储的好处是零。load
给你的是一个简单的( block!
) [make hash! [...]]
。与仅加载相比,从此加载的数据填充哈希表需要更多时间block!
,但之后可以更快地查找。
换句话说,您可以:
>> save %database [one two]
>> make hash! load %database
== make hash! [one two]
如您链接的教程中所述。