#scripting-language #scripting #语法 #集成 #强类型 #rusty #运行

bin+lib itsy

具有rusty语法的强类型脚本语言,具有良好的Rust集成

4个版本 (重大变更)

0.4.0 2022年6月12日
0.3.0 2021年10月17日
0.2.0 2021年7月20日
0.1.0 2019年3月10日

#342 in 编程语言

MIT 协议

500KB
10K SLoC

Itsy

完全使用安全Rust编写的具有rusty语法和易于Rust集成的强类型脚本语言。

项目状态:功能不完整,完全不适合生产,语法和API可能会更改,预期会有许多错误和不良诊断。可能很有趣。

尝试使用它

克隆仓库。它包含VSCode任务以在运行器中运行当前打开的.itsy源。在编辑器中打开文件(例如itsy/examples/mandelbrot.itsy),运行任务“cargo run file in runner”。这将构建run应用程序并使用它来运行打开的文件。

安装

将以下内容添加到我们的Cargo.toml以使Itsy在你的项目中可用。

[dependencies]
itsy = "0.4"

集成

安装后,可以在项目中像这样使用它

use itsy::{itsy_api, build_str, run};

// Define an API of Rust functions that are callable from the Itsy script.
itsy_api!(MyAPI, (), {
    fn print(&mut context, value: &str) {
        println!("print: {}", value);
    }
    // ... more functions ...
});

fn main() {
    // Build the itsy program and link it to the MyAPI API we created above.
    let program = build_str::<MyAPI>("
        // An Itsy program that calls the Rust 'print' function.
        fn main() {
            print(\"Hello from Itsy!\");
        }
    ").unwrap();

    run(&program, &mut ()).unwrap();
}

下一步是什么

包参考: 这里
语言参考:不存在,列出了一些差异这里

依赖项