Menu
CoddyTech

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ảng
  • contains(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ông
  • reverse() - Đả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: true

Khi 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: true
challenge icon

Thử 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:

  1. Kiểm tra xem mảng có rỗng không bằng phương thức is_empty() và in kết quả.
  2. Kiểm tra xem mảng có chứa chuỗi “5” không bằng phương thức contains() và in kết quả. Nhớ dùng String chứ không dùng str: “5”.to_string()
  3. Đả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);
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch Rust online