From b1ac9fb8ed90699474e911674f1a60b139563858 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Wed, 27 May 2026 12:48:54 +0800 Subject: Add Chinese tutorial for Step 1 of Mingling framework --- docs/play/sources/zh_CN/2-writing1.md | 208 ++++++++++++++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 docs/play/sources/zh_CN/2-writing1.md (limited to 'docs/play/sources/zh_CN/2-writing1.md') diff --git a/docs/play/sources/zh_CN/2-writing1.md b/docs/play/sources/zh_CN/2-writing1.md new file mode 100644 index 0000000..e416118 --- /dev/null +++ b/docs/play/sources/zh_CN/2-writing1.md @@ -0,0 +1,208 @@ +我们刚刚创建了基本的入口,现在编写子命令: `list` + +```rust +use mingling::prelude::*; + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +fn main() { + let mut program = ThisProgram::new(); + <<<<<<<<<< "所有的资源将在此处注册" + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +<<<<<<<<<< "让我们在此处注册一个分发器,将 list 命令分发到指定的入口" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!( <<<<<<<<<< "编写" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", <<<<<<<<<< "编写命令名称" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList <<<<<<<<<< "编写分发器名称" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList <<<<<<<<<< "编写入口名称" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList); <<<<<<<<<< "这样,list 命令的分发器 CMDList 就被注册了" + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; <<<<<<<<<< "dispatcher! 宏由 prelude 提供" + +dispatcher!("list", CMDList => EntryList); + +fn main() { + let mut program = ThisProgram::new(); + + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList); + +fn main() { + let mut program = ThisProgram::new(); + <<<<<<<<<< "Ok, 现在在此处为程序添加分发器" + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList); + +fn main() { + let mut program = ThisProgram::new(); + program.with_dispatcher( <<<<<<<<<< "使用 with_dispatcher 为程序添加分发器" + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList); + +fn main() { + let mut program = ThisProgram::new(); + program.with_dispatcher(CMDList); <<<<<<<<<< "添加刚创建的分发器 CMDList" + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- + +至此,`list` 子命令便已被注册到程序 + +```rust +use mingling::prelude::*; + +dispatcher!("list", CMDList => EntryList); + +fn main() { + let mut program = ThisProgram::new(); + program.with_dispatcher(CMDList); + program.exec_and_exit(); +} + +gen_program!(); +``` + +--- -- cgit