4 个版本
0.2.0 | 2022年2月6日 |
---|---|
0.1.2 | 2022年1月24日 |
0.1.1 | 2022年1月24日 |
0.1.0 | 2022年1月24日 |
#146 在 模拟
在 wordle_strategies 中使用
235KB
3K SLoC
wordle_rs
警告:此项目尚不稳定,因此次要更新可能会破坏向后兼容性。
你是否曾对 Wordle 迷恋到想要以程序方式评估不同策略?如果是这样,你就在正确的位置。
此包是 wordle_rs
项目的组成部分,该项目有三个部分
wordle_rs
,这是一个库,你可以用它来编写和评估自己的 Wordle 策略,wordle_strategies
,这是一个库,演示了我编写的一些策略,以及wordle_runner
(WIP),这是一个命令行程序,可以运行和比较用wordle_rs
编写的 Wordle 策略。
请随时向 wordle_strategies
贡献您的策略!
使用 wordle_rs
编写策略
将以下内容添加到您的 Cargo.toml
[dependencies]
wordle_rs = "0.2.0"
然后,定义一个新的结构体并为它实现 Strategy
特性。
use wordle_rs::Strategy;
struct MyCoolStrategy;
impl Strategy for MyCoolStrategy {
// snip
}
然后,为您的策略配置和运行测试工具。您可以在下面看到如何做这件事。您也可以使用 wordle_runner
来为您运行策略,尽管这还是一个正在进行中的工作。
运行 wordle_strategies
的策略
要运行预制的策略(可能针对您自己的策略!),首先将以下内容添加到您的 Cargo.toml
[dependencies]
wordle_rs = "0.2.0"
wordle_strategies = "0.2.0"
然后,导入一个策略并在您的策略上运行 wordle_rs
测试工具。
运行 wordle_rs
测试工具
只需导入工具并配置它以运行您想要测试的策略。您可以添加任何位置的策略,包括您自己编写的策略。方法 Harness::add_strategy
接受任何实现了 Strategy
特性的内容。
use wordle_rs::{harness::Harness, WordleError};
use wordle_strategies::Common;
fn main() -> Result<(), WordleError> {
let harness = Harness::new()
.add_strategy(Box::new(Common), None)
.test_num(10);
let perfs = harness.run()?;
perfs.print_report()?;
Ok(())
}
使用 wordle_runner
即将推出。
wordle_rs
的包级别文档
示例
构建您自己的策略的示例可以在本仓库的 wordle_strategies
文件夹中找到,其中包含同名crate的代码。
构建功能
wordle_rs
crate 支持禁用一些非关键功能,允许它在某些主要依赖项缺失的情况下构建。以下是功能和它们的效果:
serde
:允许序列化和反序列化性能记录,并包括加载和保存基线的机制stats
:启用性能记录之间的统计比较fancy
:启用带有颜色、进度条和表格的精美显示parallel
:允许并行运行测试框架
:默认启用
许可证
本项目中的所有内容均受 MIT 许可证 许可。
依赖项
~0.9–11MB
~109K SLoC