6 个版本
使用旧的 Rust 2015
0.1.5 | 2016年11月8日 |
---|---|
0.1.4 | 2016年11月6日 |
0.1.3 | 2016年9月27日 |
在#有用中排名17
每月下载51次
16KB
380 行
dmoj-rust
一个提供在线评测中有用方法的 Rust 包。
使用方法
#[macro_use] extern crate dmoj;
fn main() {
println!("Hello, World!");
}
提供的宏
print!
, println!
此包提供了 print!
和 println!
宏,这些宏覆盖了预导入版本。这些版本大约快10倍,并且完全兼容API,但牺牲了线程安全。
示例
#[macro_use] extern crate dmoj;
fn main() {
print!("Hello, ");
println!("World!");
}
flush!
刷新 stdout 缓冲区。
示例
#[macro_use] extern crate dmoj;
use std::thread;
use std::time::Duration;
fn main() {
print!("Hello,");
flush!();
thread::sleep(Duration::from_secs(2));
println!(" World!");
}
scan!
scan!(T) -> T;
scan!(T1, ..., Tn) -> (T1, ..., Tn);
一个从 stdin 扫描值的宏。目前只支持扫描字符和整数。注意,在扫描整数时,扫描器将继续读取 stdin,直到找到看起来像整数的东西。如果宏用多个类型参数调用,则返回值的元组,否则返回值本身。
示例
#[macro_use] extern crate dmoj;
fn main() {
// For example, if stdin contains " 2020 \n +4 test \n -19xy" then
print!("{:?}", scan!(u64)); // prints "2020", and
print!("{:?}", scan!(i16, i16)); // prints "(4, -19)"
print!("{:?}", scan!(char)); // prints "'x'"
print!("{:?}", scan!(char)); // prints "'y'"
}
依赖项
~57KB