diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-08-14 00:42:05 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-08-14 00:42:05 +0800 |
| commit | 9dde70fc4fb85a5be14a9429ba52fffe529317d3 (patch) | |
| tree | 93009b07bfc06664a8024f2271106af8b88e56bc /docs/_zh_CN | |
| parent | 886205215875f59b0019c2c870ec5ef977307130 (diff) | |
docs: update multiple dispatchers example to use chaining
Replace the `with_dispatchers` tuple syntax with chained
`with_dispatcher` calls to match the current API and remove
the obsolete section about tuple-based registration.
Diffstat (limited to 'docs/_zh_CN')
| -rw-r--r-- | docs/_zh_CN/pages/5-multiple-commands.md | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/docs/_zh_CN/pages/5-multiple-commands.md b/docs/_zh_CN/pages/5-multiple-commands.md index ff6596d..681fe0a 100644 --- a/docs/_zh_CN/pages/5-multiple-commands.md +++ b/docs/_zh_CN/pages/5-multiple-commands.md @@ -42,7 +42,8 @@ fn render_sum(result: ResultSum) { fn main() { let mut program = ThisProgram::new(); - program.with_dispatchers((CMDGreet, CMDAdd)); + program.with_dispatcher(CMDGreet); + program.with_dispatcher(CMDAdd); program.exec_and_exit(); } @@ -58,31 +59,6 @@ Hello, Alice! Sum: 6 ``` -## 注册多个分发器 - -注意到 `with_dispatchers` 了吗?当你需要注册多个分发器时,一次传一个元组就行: - -```rust -@@@dispatcher!("greet", CMDGreet => EntryGreet); -@@@dispatcher!("add", CMDAdd => EntryAdd); -@@@pack!(ResultGreeting = String); -@@@pack!(ResultSum = i32); -@@@#[chain] fn handle_greet(_args: EntryGreet) -> Next { ResultGreeting::new("ok".into()).into() } -@@@#[renderer] fn render_greet(_greeting: ResultGreeting) -> RenderResult { RenderResult::new() } -@@@#[chain] fn handle_add(_args: EntryAdd) -> Next { ResultSum::new(0).into() } -@@@#[renderer] fn render_sum(_sum: ResultSum) -> RenderResult { RenderResult::new() } -fn main() { - let mut program = ThisProgram::new(); - program.with_dispatchers((CMDGreet, CMDAdd)); - program.exec_and_exit(); -} -``` - -等价于一个个注册,效果一样。 - -> [!TIP] -> 元组最多支持 7 个分发器。超过 7 个时链式调用 `with_dispatcher` 就行。 - ## 子命令 多层级的命令也是同理——每个点号分隔的层级都只是名字的一部分: |
