【发布时间】:2020-10-23 17:03:34
【问题描述】:
创建 AST 或 M3 可能需要一些时间,具体取决于您尝试加载的项目的大小。那么有没有办法将 AST 或 M3 存储在文件中?所以下次你需要它时,你不必再次创建它,因为你可以从文件中加载完整的东西。
【问题讨论】:
标签: rascal
创建 AST 或 M3 可能需要一些时间,具体取决于您尝试加载的项目的大小。那么有没有办法将 AST 或 M3 存储在文件中?所以下次你需要它时,你不必再次创建它,因为你可以从文件中加载完整的东西。
【问题讨论】:
标签: rascal
您可以使用ValueIO 从/向磁盘读取和写入任何值,如下所示:
rascal>writeBinaryValueFile(|home:///myFile.txt|, myValue)
ok
rascal>readBinaryValueFile(#myType, |home:///myFile.txt|)
myType: myValue
或者以更易读的文本格式:
rascal>writeTextValueFile(|home:///myFile.txt|, myValue)
ok
rascal>readTextValueFile(#myType, |home:///myFile.txt|)
myType: myValue
还有其他格式的 JSON 和 CSV(反)序列化器,可在 lang::json::IO 和 lang::csv::IO 中找到
【讨论】:
|home:///myFile.txt| 格式的参考资料?特别是,如何传递相对于当前(项目)目录的路径? home:/// 似乎字面意思是操作系统主目录。 file:/// 好像是绝对路径的意思……
project://name/file
project:// 指向项目目录上一级的目录。