From 09435a6719b78ed51ce8bd708bd430dec4abd9c2 Mon Sep 17 00:00:00 2001 From: Weicao-CatilGrass <1992414357@qq.com> Date: Wed, 27 May 2026 14:31:26 +0800 Subject: Fix indentation and update Chinese documentation content --- docs/play/sources/zh_CN/2-writing3.md | 190 ++++++++++++++++++++++++---------- 1 file changed, 135 insertions(+), 55 deletions(-) (limited to 'docs/play') diff --git a/docs/play/sources/zh_CN/2-writing3.md b/docs/play/sources/zh_CN/2-writing3.md index e2038e3..252caab 100644 --- a/docs/play/sources/zh_CN/2-writing3.md +++ b/docs/play/sources/zh_CN/2-writing3.md @@ -7,10 +7,15 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -gen_program!(); +gen_program!(); ``` --- @@ -22,12 +27,17 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } <<<<<<<<<< "我们将在此处编写渲染器代码" -gen_program!(); +gen_program!(); ``` --- @@ -39,12 +49,17 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } #[renderer] <<<<<<<<<< "和 #[chain] 类似,渲染器函数叫 #[renderer]" -gen_program!(); +gen_program!(); ``` --- @@ -56,13 +71,18 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits( <<<<<<<<<< "编写函数体" -gen_program!(); +gen_program!(); ``` --- @@ -74,13 +94,18 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits <<<<<<<<<< "声明接收 ResultFruits 类型" -gen_program!(); +gen_program!(); ``` --- @@ -92,13 +117,18 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) {} <<<<<<<<<< "一般情况下,渲染器什么都不用返回" -gen_program!(); +gen_program!(); ``` --- @@ -110,15 +140,20 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { <<<<<<<<<< "接下来在此处编写渲染逻辑" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -130,15 +165,20 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { let vec: &Vec = <<<<<<<<<< "首先我们先解包 ResultFruits" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -150,15 +190,20 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { let vec: &Vec = <<<<<<<<<< "pack! 宏会自动为 ResultFruits 实现 AsRef trait" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -170,15 +215,20 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { let vec: &Vec = result.as_ref(); <<<<<<<<<< "所以此处可以使用 as_ref()" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -190,15 +240,20 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { let vec: &Vec = &*result; <<<<<<<<<< "当然,deref 也可以解包 ResultFruits" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -210,16 +265,21 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { - let vec: &Vec = &*result; + let vec: &Vec = &*result; for fruit in vec { <<<<<<<<<< "接下来,循环遍历 ResultFruits 中的水果字符串" -} +} -gen_program!(); +gen_program!(); ``` --- @@ -231,18 +291,23 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { - let vec: &Vec = &*result; + let vec: &Vec = &*result; for fruit in vec { <<<<<<<<<< "在循环中打印内容" } } -gen_program!(); +gen_program!(); ``` --- @@ -254,18 +319,23 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { - let vec: &Vec = &*result; + let vec: &Vec = &*result; for fruit in vec { r_println!("{}", fruit) <<<<<<<<<< "使用 r_println 在循环中打印内容" } } -gen_program!(); +gen_program!(); ``` --- @@ -277,18 +347,23 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } -#[renderer] +#[renderer] fn render_fruits(result: ResultFruits) { - let vec: &Vec = &*result; + let vec: &Vec = &*result; for fruit in vec { r_println!("{}", fruit) } } -gen_program!(); +gen_program!(); ``` --- @@ -302,16 +377,21 @@ pack!(ResultFruits = Vec); #[chain] fn handle_entry_list(_prev: EntryList) -> Next { - // ... + let fruits = vec![ + "Apple".to_string(), + "Banana".to_string(), + "Orange".to_string(), + ]; + ResultFruits::new(fruits) } #[renderer] fn render_fruits(result: ResultFruits) { - let vec: &Vec = &*result; + let vec: &Vec = &*result; for fruit in vec { r_println!("{}", fruit) } } -gen_program!(); +gen_program!(); ``` -- cgit