ToB企服应用市场:ToB评测及商务社交产业平台

标题: rustling学习随笔 [打印本页]

作者: 用多少眼泪才能让你相信    时间: 2024-10-3 12:53
标题: rustling学习随笔
序言

rustling是一个关于rust的练习题的项目.可以资助大家通过完成一个项目标方式练习rust的语法,我认为对于补充我rust现学现卖过程中的环境很有资助.
下边是GPT对它的先容:
Rustling 是专为那些想要学习 Rust 编程语言的人设计的一个交互式练习集合。无论你是编程新手还是有经验的开发者,Rustling 都能提供一个友好的环境来探索 Rust 的独特功能。
特点:
structs2
  1. // structs2.rs
  2. //
  3. // Address all the TODOs to make the tests pass!
  4. //
  5. // Execute `rustlings hint structs2` or use the `hint` watch subcommand for a
  6. // hint.
  7. // I AM NOT DONE
  8. #[derive(Debug)]
  9. struct Order {
  10.     name: String,
  11.     year: u32,
  12.     made_by_phone: bool,
  13.     made_by_mobile: bool,
  14.     made_by_email: bool,
  15.     item_number: u32,
  16.     count: u32,
  17. }
  18. fn create_order_template() -> Order {
  19.     Order {
  20.         name: String::from("Bob"),
  21.         year: 2019,
  22.         made_by_phone: false,
  23.         made_by_mobile: false,
  24.         made_by_email: true,
  25.         item_number: 123,
  26.         count: 0,
  27.     }
  28. }
  29. #[cfg(test)]
  30. mod tests {
  31.     use super::*;
  32.     #[test]
  33.     fn your_order() {
  34.         let order_template = create_order_template();
  35.         // TODO: Create your own order using the update syntax and template above!
  36.         // let your_order =
  37.         let your_order = Order {
  38.             name: String::from("Hacker in Rust"),
  39.             count: 1,
  40.             ..order_template
  41.         };
  42.         assert_eq!(your_order.name, "Hacker in Rust");
  43.         assert_eq!(your_order.year, order_template.year);
  44.         assert_eq!(your_order.made_by_phone, order_template.made_by_phone);
  45.         assert_eq!(your_order.made_by_mobile, order_template.made_by_mobile);
  46.         assert_eq!(your_order.made_by_email, order_template.made_by_email);
  47.         assert_eq!(your_order.item_number, order_template.item_number);
  48.         assert_eq!(your_order.count, 1);
  49.     }
  50. }
复制代码
这里注意这个,这里有一个结构体更新语法的问题:
  1. let your_order = Order {
  2.             name: String::from("Hacker in Rust"),
  3.             count: 1,
  4.             ..order_template
  5.         };
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4