现阶段如何使用MoonBit读写本地csv文件?

目前还没有在 try.moonbitlang.cn 上看到涉及本地I/O的示例,现阶段也没有相应的文档可参考。
平时很少用到node.js,如果必须借助FFI才能实现,感觉又没头绪了。
希望能有更详细的关于I/O和FFI的参考,以及FFI这块如果能有js以外的示例(如python/go)会更方便一些。
谢谢:pray:

目前必须依赖FFI。

每一个编译后端都有特殊的输入输出方式,其中Wasm的话依赖WASI标准。这个的支持还不是很完善,目前可以参考 GitHub - peter-jerry-ye/wasi: WASI Preview 1 implementation for moonbit 利用这个moonbit库构建项目,并利用里面的示例的deno配置+js脚本进行构建。

2 个赞

如果想使用JS后端的话,需要用内联JS,例如

type PromiseString // 外部类型,指代Promise<String>

pub extern "js" fn fsRead(path: String) -> PromiseString =
#|async (path) => {
#|  const fs = await import("node:fs");
#|  return fs.readFile(path, { encoding: "utf8" });
#|}
3 个赞