我如何确保 quirrel 中存在路径

问题描述

我想在 quirrel (squirrel fork) 的自定义文件夹中创建文件我有这个示例代码

local function savetoFile(subfolder_name,file_name,content) {
  local path = $"folder/{subfolder_name}/{file_name}"
  local file = io.file(path,"wt+")
  file.writestring(content)
  file.close()
}

但如果我不创建所需的文件夹,它就无法打开文件

解决方法

可惜松鼠标准库中没有这样的原生方法 但是因为您可以从 squirrel 调用系统,所以您可以创建文件夹。 参见 https://quirrel.io/doc/stdlib/stdsystemlib.html#system(quirrel 是 squirrel 的 fork,在安全性和性能方面有相同的改进,但对于原始 squirrel 几乎相同,唯一的问题是您如何在自己的实现中使用标准本机库,AFAIK 通常它们具有本机方法在根表中

local {system} = require("system")//this is to add 'system'
method to local scope
system("mkdir myDirName")

你也可以添加自己的functon并绑定squirrel\quirrel或者添加“io”标准库并提交PR

Squirrel 首先是嵌入式语言,所以它的创建副作用的方法应该由程序员添加