From 8ecc2dadcb4ad166db77487e77e34a822c30b490 Mon Sep 17 00:00:00 2001 From: mzg <5487654@qq.com> Date: Sun, 21 Aug 2022 07:18:05 +0800 Subject: [PATCH] add expression --- .../.gitkeep" | 0 .../config.json" | 0 .../10.\350\257\255\345\217\245/config.json" | 8 -- .../11.\351\227\255\345\214\205/.gitkeep" | 0 .../11.\351\227\255\345\214\205/config.json" | 0 .../.gitkeep" | 0 .../config.json" | 0 .../.gitkeep" | 0 .../.gitkeep" | 0 .../config.json" | 3 +- .../expression.json" | 7 ++ .../expression.md" | 81 +++++++++++++++++++ .../match.json" | 0 .../match.md" | 0 14 files changed, 90 insertions(+), 9 deletions(-) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/.gitkeep" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/.gitkeep" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/config.json" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/config.json" (100%) delete mode 100644 "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/.gitkeep" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/.gitkeep" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/config.json" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/config.json" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/.gitkeep" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" (100%) delete mode 100644 "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/.gitkeep" rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/.gitkeep" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" (79%) create mode 100644 "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" create mode 100644 "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.json" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.json" (100%) rename "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.md" => "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.md" (100%) diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\346\216\247\345\210\266\346\265\201/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" deleted file mode 100644 index bff6171..0000000 --- "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/10.\350\257\255\345\217\245/config.json" +++ /dev/null @@ -1,8 +0,0 @@ -{ - "node_id": "rust-ec374a0aec5940b8b3a86e3cb4da98ca", - "keywords": [], - "children": [], - "export": [], - "keywords_must": [], - "keywords_forbid": [] -} \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\346\216\247\345\210\266\346\265\201/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/11.\351\227\255\345\214\205/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\351\227\255\345\214\205/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/12.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/config.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/.gitkeep" deleted file mode 100644 index e69de29..0000000 diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/.gitkeep" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/13.\345\207\275\346\225\260\345\274\217\347\274\226\347\250\213/.gitkeep" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/.gitkeep" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" similarity index 79% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" index 99c8c35..e0ae40c 100644 --- "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/config.json" +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/config.json" @@ -3,7 +3,8 @@ "keywords": [], "children": [], "export": [ - "match.json" + "match.json", + "expression.json" ], "keywords_must": [], "keywords_forbid": [] diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" new file mode 100644 index 0000000..d9945a2 --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": "jackymao_com", + "source": "expression.md", + "notebook_enable": false, + "exercise_id": "25a3a49bd39d4d0385bc4f797c3fe1e3" + } \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" new file mode 100644 index 0000000..dff2ef5 --- /dev/null +++ "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/expression.md" @@ -0,0 +1,81 @@ +# 表达式与语句 + +Rust 中的语法分为两大类: 语句 (statement) 和表达式 (Expression)。 + +语句:指的是要执行的一些操作和产生副作用的表达式。不一定有返回值。有的声明语句没有值,不能作为右值放在赋值语句的等号右边。 + +表达式:主要用于计算求值。一般有返回值。 + + +语句 + + 声明语句:用于声明各种语言项,包括变量、静态变量、常量、结构体、函数等,以及通过extern和use关键字引入包和模块。 + + 表达式语句:特指以分号结尾的表达式。此类表达式求值结果将会被舍弃,并总是返回单元类型()。单元类型拥有唯一的值,就是它本身。 + + +下面代码中使用有误的地方是: + +```rust + +// A +// use std::prelude::v1::*; +// pub use core::prelude::rust_2021::*; +// std::prelude 是自动引入的,一般不需要写,但写了也没有关系。一般只有在写嵌入式系统代码的时候使用 #[no_std] 属性明确指定了不需要标准库,才不会引入标准库 + +fn main(){ + + // 赋值语句 + let x = 5_u32; + + // B + // 连环赋值? + let u = v = w = 6; + let u = (let v = 7); + + let y = { + let x_squared = x * x; + let x_cube = x_squared * x; + + // C + // 将此表达式赋给 `y` + x_cube + x_squared + x + }; + + let z = { + // D + // 分号结束了这个表达式,于是将 `()` 赋给 `z` + 2 * x; + }; + + println!("x is {:?}", x); + println!("y is {:?}", y); + println!("z is {:?}", z); + +} + +``` + +## 答案 + +### + +B + +## 选项 + +### + +A + +### + +C + +### + +D + + + \ No newline at end of file diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.json" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.json" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.json" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.json" diff --git "a/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.md" "b/data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.md" similarity index 100% rename from "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217/match.md" rename to "data/1.rust\345\210\235\351\230\266/2.rust\345\237\272\346\234\254\346\246\202\345\277\265/9.\350\241\250\350\276\276\345\274\217\344\270\216\350\257\255\345\217\245/match.md" -- GitLab