Phương thức củ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 61 trên 75.
Mảng có nhiều phương thức (chức năng). Để gọi một phương thức, hãy viết:
array.methodName(otherParameters)Sau đây là danh sách các phương thức cơ bản:
len()- trả về số phần tử trong mảngcontains(value)- kiểm tra xem mảng có chứa một giá trị cụ thể hay không
is_empty()- kiểm tra xem mảng có rỗng khôngreverse()- Đảo ngược mảng
Ví dụ:
let mut numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse();
// [50, 40, 30, 20, 10]Ví dụ về phương thức is_empty():
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Kết quả sẽ là:
Is empty: trueKhi dùng contains, bạn cần truyền tham chiếu đến giá trị cần tìm bằng &. Ví dụ:
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Đầu ra: Contains 30: trueThử thách
DễTạo một hàm có tên analyze_array nhận một mảng chuỗi có kích thước 5 làm đối số. Phương thức này cần thực hiện các thao tác sau:
- Kiểm tra xem mảng có rỗng không bằng phương thức
is_empty()và in kết quả. - Kiểm tra xem mảng có chứa chuỗi
“5”không bằng phương thứccontains()và in kết quả. Nhớ dùng String chứ không dùng str:“5”.to_string() - Đảo ngược mảng và in mảng ra
Đầu ra phải theo đúng định dạng sau:
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Tự làm thử
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Viết code tại đây
// In từng phần tử trên một dòng
for element in arr.iter() {
println!("{}", element);
}
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
analyze_array(&mut arr);
}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
13Tiếp tục với mảng
Mảng tham chiếu có thể thay đổiPhương thức của mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcCải thiện cách in ra5Cá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