7个版本 (破坏性更新)
0.7.0 | 2021年5月16日 |
---|---|
0.6.0 | 2021年4月10日 |
0.5.0 | 2021年2月26日 |
0.4.0 | 2020年12月28日 |
0.1.0 | 2020年10月10日 |
#1594 in 解析器实现
在 pgn4 中使用
43KB
997 行
fen4
一个用于解析和写入fen4文件格式的Rust库。
这提供了一个从简单的4人棋盘表示到Chess.com使用的fen4文件格式的映射。任何非平凡的计算都可能有一个单独的数据格式,但这个工具会生成有用的错误消息,并且可以正确处理几乎所有的4人棋变体(包括大量的非标准棋子)。
用法
Cargo.toml
[dependencies]
fen4 = "0.7"
fn main(){
let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
let board : Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
println!("{}",board.unwrap());
}
Rust版本要求
fen4需要rustc版本1.45或更高。这是为了支持str.strip_prefix
;绕过这个要求会将需要支持的情况移回到大约1.32。
lib.rs
:
Fen4提供了一个从简单的4人棋盘表示到Chess.com使用的fen4文件格式的映射。
快速入门
Board
结构体是这个crate中重要的类型。所有其他类型都是为了支持Board
的所有功能而存在的。获取Board
最常见的方式是使用FromStr
或Default
。
let empty_fen = "R-0,0,0,0-0,0,0,0-0,0,0,0-0,0,0,0-0-14/14/14/14/14/14/14/14/14/14/14/14/14/14";
let board : Result<fen4::Board,fen4::BoardParseError> = empty_fen.parse();
println!("{}",board?);
依赖关系
~295–760KB
~18K SLoC