Hãy xem xét ví dụ saulỗi "loại giá trị này phải được biết trong bối cảnh này" trong mô hình kết hợp
fn main() {
f("hello", true);
}
fn f(str: &str, sen: bool) {
let s: &str = match sen {
false => str,
true => str.chars().map(|x| x.to_lowercase()).collect().as_slice()
};
println!("{}", s);
}
Tôi nhận được lỗi này
error: the type of this value must be known in this conntext
true => str.chars().map(|x| x.to_lowercase()).collect().as_slice()
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tôi là một chút bối rối, không phải trình biên dịch biết rằng loại str
là &str
từ định nghĩa hàm? Tôi đang thiếu gì ở đây?
Cảm ơn. Tôi đã sử dụng các biến tạm thời để lưu trữ 'String' và bind s thành' temp_var.as_slice() '. Không chắc chắn liệu có một cách tốt hơn hay không. –