Chỉnh sửa mảng
Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 58 trên 75.
Ngoài việc truy cập các phần tử của mảng, bạn cũng có thể sửa đổi chúng. Để sửa đổi một phần tử cụ thể, trước tiên bạn cần mut để mảng có thể sửa đổi, sau đó bạn có thể gán giá trị mới cho phần tử đó bằng chỉ số của nó.
Đây là một ví dụ:
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Đầu ra:
apple, orange, cherrybanana đã được đổi thành orange.
Thử thách
DễTạo một chương trình nhận 3 đầu vào:
- Đầu vào thứ nhất là một chuỗi các giá trị được phân tách bằng dấu phẩy (ví dụ
1,2,3,4,5) có độ dài 5. - Đầu vào thứ hai là một chỉ số
- Đầu vào thứ ba là một phần tử mới
Code khởi đầu đã chuyển chuỗi được phân tách bằng dấu phẩy thành một mảng có thể thay đổi tên là arr. Bạn có thể thao tác trực tiếp với mảng này mà không cần viết code chuyển đổi.
Chương trình sẽ in ra một mảng đã sửa đổi bằng cách thay phần tử tại chỉ số được lưu trong đầu vào thứ hai bằng giá trị từ đầu vào thứ ba.
Tự làm thử
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();
// Viết code của bạn bên dưới
// Dùng arr, index và new_element để giải thử thách
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online