feat: add rust-script
This commit is contained in:
44
external/rust-script/README.md
vendored
Normal file
44
external/rust-script/README.md
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
|
||||
[](https://github.com/fornwall/rust-script/actions?query=workflow%3ACI)
|
||||
[](https://crates.io/crates/rust-script)
|
||||
|
||||
# rust-script
|
||||
Run Rust script files without any setup or explicit compilation step, with seamless use of crates specified as dependencies inside the scripts.
|
||||
|
||||
```sh
|
||||
$ cargo install rust-script
|
||||
[...]
|
||||
|
||||
$ cat script.rs
|
||||
#!/usr/bin/env rust-script
|
||||
//! Dependencies can be specified in the script file itself as follows:
|
||||
//!
|
||||
//! ```cargo
|
||||
//! [dependencies]
|
||||
//! rand = "0.8.0"
|
||||
//! ```
|
||||
|
||||
use rand::prelude::*;
|
||||
|
||||
fn main() {
|
||||
let x: u64 = random();
|
||||
println!("A random number: {}", x);
|
||||
}
|
||||
|
||||
$ ./script.rs
|
||||
A random number: 9240261453149857564
|
||||
```
|
||||
|
||||
Rust version 1.54 or newer required.
|
||||
|
||||
See the [documentation at rust-script.org](https://rust-script.org).
|
||||
|
||||
## Related projects
|
||||
- [cargo-script](https://github.com/DanielKeep/cargo-script) - the unmaintained project that `rust-script` was forked from.
|
||||
- [cargo-eval](https://github.com/reitermarkus/cargo-eval/) - maintained fork of `cargo-script`.
|
||||
- [cargo-play](https://github.com/fanzeyi/cargo-play) - local Rust playground.
|
||||
- [runner](https://github.com/stevedonovan/runner/) - tool for running Rust snippets.
|
||||
- [scriptisto](https://github.com/igor-petruk/scriptisto) - language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages.
|
||||
|
||||
## License
|
||||
`rust-script` is primarily distributed under the terms of both the [MIT license](LICENSE-MIT) and the [Apache License (Version 2.0)](LICENSE-APACHE).
|
||||
Reference in New Issue
Block a user