10 个不稳定版本 (3 个破坏性版本)
0.4.3 | 2022 年 6 月 30 日 |
---|---|
0.4.2 | 2021 年 12 月 31 日 |
0.3.0 | 2021 年 12 月 9 日 |
0.2.3 | 2021 年 11 月 30 日 |
0.1.0 | 2021 年 11 月 27 日 |
#17 in #执行引擎
44KB
521 行
piston_rs
为 Piston 代码执行引擎提供的异步包装器。
为何选择 piston_rs
piston_rs 旨在使与 Piston 的交互变得有趣且简单。您的主要工具是 Client
和 Executor
结构体。
Executor
结构体包含您要运行的源代码和其他元数据,然后通过 Client
发送到 Piston。
piston_rs 需要 Rust 版本 1.46.0 或更高。
入门指南
有关更多详细信息,请参阅 文档!
将 piston_rs 添加到您的项目中
# Cargo.toml
[dependencies]
piston_rs = "^0.4"
向 Piston 发送请求
// main.rs
#[tokio::main]
async fn main() {
let client = piston_rs::Client::new();
let executor = piston_rs::Executor::new()
.set_language("rust")
.set_version("*")
.add_file(
piston_rs::File::default()
.set_name("main.rs")
.set_content("fn main() { println!(\"42\"); }")
);
match client.execute(&executor).await {
Ok(response) => {
println!("Language: {}", response.language);
println!("Version: {}", response.version);
if let Some(c) = response.compile {
println!("Compilation: {}", c.output);
}
println!("Output: {}", response.run.output);
}
Err(e) => {
println!("Something went wrong contacting Piston.");
println!("{}", e);
}
}
}
许可证
piston_rs 根据 MIT 许可证 许可。
依赖项
~4–15MB
~223K SLoC