inceleyelim:
error: no method named `read_to_string` found for type `std::result::Result<std::fs::File, std::io::Error>` in the current scope
--> src/main.rs:14:14
|
14 | file.read_to_string(&mut s);
| ^^^^^^^^^^^^^^
hata mesajı hemen hemen kalay yazıyor budur - tipi Result
değil yöntemi read_to_string
var. Bu aslında a method on the trait Read
.
File::open(&path)
başarısız olduğundan Result
var. Başarısızlık, Result
tipi ile temsil edilir. Result
'un ilk kısmı, başarı durumu olan Ok
'dur. Diğer kısım ise Err
'dur, bu da başarısızlık durumudur.
Hata durumunu bir şekilde ele almanız gerekir. Ben olur
use std::io::Read;
derece okuma tavsiye:
let mut file = File::open(&path).expect("Unable to open");
Ayrıca read_to_string
erişmesini kapsam içine Read
getirmek gerekir: en kolay sadece expect
kullanarak, başarısızlık üzerinde ölmek The Rust Programming Language aracılığıyla ve örnekleri çalışarak. Bence bu dokümanlar üst düzeydir!
https://doc.rust-lang.org/std/fs/struct.File.html: Burada Dosya'nın bir read_to_string yöntemine sahip olduğunu söyler. İlk örnek kodun yaptığı gibi, neden buraya erişemiyorum? – user3918985
@ user3918985 'Dosya' read_to_string işlevini sağlayan 'Read' komutunu uygular. Ben "burada" ile ne demek istemiyorum. Bu yöntemleri kapsamda kullanmak için (gösterdiğim gibi) bu özelliği kullanmanız gerekir. – Shepmaster
Çok kapsamlı açıklamanız için teşekkür ederiz. – liuyanghejerry