Crates.io | rhai-fs |
lib.rs | rhai-fs |
version | 0.1.3 |
source | src |
created_at | 2022-10-12 00:17:38.308246 |
updated_at | 2023-10-25 08:14:20.133802 |
description | Filesystem package for Rhai |
homepage | |
repository | https://github.com/rhaiscript/rhai-fs |
max_upload_size | |
id | 685742 |
size | 60,781 |
rhai-fs
This crate provides filesystem access for the Rhai scripting language.
Cargo.toml
[dependencies]
rhai-fs = "0.1.2"
// 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);
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(())
}
Feature | Default | Description |
---|---|---|
no_index |
disabled | Enables support for no_index builds of Rhai |
sync |
disabled | Enables support for sync builds of Rhai |
metadata |
disabled | Enables support for generating package documentation |