Tôi đang cố gắng hiểu chính xác phạm vi dành cho các hàm được xác định trong khối impl
nhưng không chấp nhận tham số &self
. Ví dụ, tại sao không đoạn mã sau đây biên dịch? Tôi nhận được lỗi "không thể tìm thấy chức năng generate_a_result
trong phạm vi này".Quy tắc phạm vi rỉ sét cho các hàm do thuộc tính cấu trúc
pub struct Blob {
num: u32,
}
impl Blob {
pub fn new() -> Blob {
generate_a_result()
}
fn generate_a_result() -> Blob {
let result = Blob {
num: 0
};
result
}
}