# my_rust_samples **Repository Path**: moonlinking/my_rust_samples ## Basic Information - **Project Name**: my_rust_samples - **Description**: a couple of rust samples and practices in One project - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-24 - **Last Updated**: 2025-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * 里面包含多个学习Rust的例子程序,来自多个书籍与练习 创建一个泛型数据容器 GenericContainer,并定义一个自定义 Processable Trait。 1. Processable Trait: * 定义一个名为 process(&self) -> String 的 Trait,要求实现者返回一个表示其处理结果的字符串。 * 为 i32 实现 Processable Trait(例如,返回 "Processed integer: N")。 * 为 String 实现 Processable Trait(例如,返回 "Processed string: 'S'")。 * 定义一个简单的 Point 结构体(包含 x: i32, y: i32),并为其实现 Processable Trait(例如,返回 "Processed point: (X, Y)")。 2. GenericContainer 结构体: * 应包含一个 Vec 来存储数据。 * 实现一个 new() 关联函数来创建实例。 * 实现一个 add_item(item: T) 方法来向容器中添加元素。 * 实现一个 process_all_items(&self) -> Vec 方法。这个方法应遍历容器中的所有元素,并为每个元素调用其 process() 方法,然后将所有结果字符串收集到一个 Vec 中返回。注意: 只有当 T 类型实现了 Processable Trait 时,才能调用此方法。 3. 测试: * 创建 GenericContainer 实例,添加一些整数,然后处理并打印结果。 * 创建 GenericContainer 实例,添加一些字符串,然后处理并打印结果。 * 创建 GenericContainer 实例,添加一些点,然后处理并打印结果。