Tôi đang tìm cách để kết nối sử dụng macro try!
trong Rust và tìm thấy this pull request that implements the ?
operator.Nhà điều hành có dấu hỏi? tương đương với thử! macro?
Có vẻ như nó đã được hợp nhất, nhưng tôi dường như không tìm thấy bất kỳ tài liệu nào về nó. Có tương đương với macro try!
hoặc có sự khác biệt quan trọng không?
Tôi dường như nhớ có những hạn chế, so với macro, trong việc chuyển đổi lỗi; cuối cùng nó đã được giải quyết chưa? –
@MatthieuM. theo RFC, nó thực hiện chuyển đổi lỗi tương tự: 'Giống như macro thử hiện tại!(),? nhà điều hành cũng sẽ thực hiện một "upcast" ngầm định trên loại ngoại lệ. ' Nhưng nó sẽ được tốt đẹp, cho rằng chỉ một phần của RFC đã được thực hiện, để có tài liệu dứt khoát về những gì thực sự bây giờ trong ngôn ngữ. :-) –
'?' Sử dụng đặc tính sóng mang, và vì lý do đó, suy luận kiểu của nó hơi khác so với khi sử dụng 'try!()'; cái sau là 'Result'-specific. – bluss