修改数组
本课属于 Coddy Rust 学习旅程的“基础知识”单元。第 58 课,共 75 课。
除了访问数组的元素,你还可以修改它们。要修改特定元素,你 需要先使用 mut 让数组可修改,然后可以使用它的索引为其赋新值。
这是一个示例:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);输出:
apple, orange, cherrybanana 被改成了一个 orange。
挑战
简单创建一个接收 3 个输入的程序:
- 第一个输入是由逗号分隔的值组成的字符串(例如
1,2,3,4,5),长度为 5。 - 第二个输入是一个索引。
- 第三个输入是一个新元素。
起始代码已经将逗号分隔的字符串转换成了一个名为 arr 的可变数组。你可以直接使用它,无需编写任何转换代码。
程序会将第二个输入中索引对应的元素替换为第三个输入中的值,并输出修改后的数组。
亲手试试
use std::io;
use std::convert::TryInto;
fn main() {
let mut input_str_arr = String::new();
let mut input_index = String::new();
let mut new_element = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
io::stdin().read_line(&mut input_index).unwrap();
io::stdin().read_line(&mut new_element).unwrap();
let new_element = new_element.trim().to_string();
let index: usize = input_index.trim().parse().unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
// 在下方编写代码
// 使用 arr、index 和 new_element 完成挑战
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Rust 在线编译器