4个版本

0.1.3 2023年10月25日
0.1.2 2022年12月3日
0.1.1 2022年11月2日
0.1.0 2022年10月24日
0.0.1 2022年10月12日

#106 in 嵌入式开发

Download history 106/week @ 2024-04-23 136/week @ 2024-04-30 67/week @ 2024-05-07 111/week @ 2024-05-14 144/week @ 2024-05-21 161/week @ 2024-05-28 156/week @ 2024-06-04 177/week @ 2024-06-11 358/week @ 2024-06-18 215/week @ 2024-06-25 194/week @ 2024-07-02 190/week @ 2024-07-09 155/week @ 2024-07-16 241/week @ 2024-07-23 130/week @ 2024-07-30 84/week @ 2024-08-06

696 每月下载量
7 个crate中使用 (直接使用6个)

MIT/Apache

28KB
452 代码行

关于 rhai-fs

License crates.io crates.io API Docs

此crate为Rhai脚本语言提供文件系统访问。

使用方法

Cargo.toml

[dependencies]
rhai-fs = "0.1.2"

Rhai 脚本

// Create a file or open and truncate if file is already created
let file = open_file("example.txt");
let blob_buf = file.read_blob();
print("file contents: " + blob_buf);
blob_buf.write_utf8(0..=0x20, "foobar");
print("new file contents: " + blob_buf);
file.write(blob_buf);

Rust源代码

use rhai::{Engine, EvalAltResult};
use rhai::packages::Package;
use rhai_fs::FilesystemPackage;

fn main() -> Result<(), Box<EvalAltResult>> {
    // Create Rhai scripting engine
    let mut engine = Engine::new();

    // Create filesystem package and add the package into the engine
    let package = FilesystemPackage::new();
    package.register_into_engine(&mut engine);

    // Print the contents of the file `Cargo.toml`.
    let contents = engine.eval::<String>(r#"open_file("Cargo.toml", "r").read_string()"#)?;
    println!("{}", contents);

    Ok(())
}

功能

功能 默认 描述
no_index 禁用 启用对Rhaino_index构建的支持
sync 禁用 启用对Rhaisync构建的支持
metadata 禁用 启用生成包文档的支持

依赖项

~4–5MB
~97K SLoC