Что происходит с данными, на которые ссылается переменная, когда она возвращается вызывающему абоненту? Когда данные уничтожаются и, возможно, катит черту?Какова область возвращаемого значения в Rust?
-1
A
ответ
2
Похоже, вы можете (почему нет?):
use std::io::File;
fn open_file(path: &Path) -> File {
let file = File::open(path).unwrap() ;
file
}
fn main() {
let path = Path::new("hello.txt");
let mut file = open_file(&path);
let str = file.read_to_string().unwrap();
println!("Contents of {}:\n{}\n", path.display(), str);
}
0
Я не понял, жизненный цикл данных в Русте, когда я писал этот вопрос. Возврат значения приводит к тому, что данные о владельце перемещаются к переменной, назначенной вызывающим. Trivial, но я только начал экспериментировать с языком, когда я написал вопрос :)
Смежные вопросы
- 1. Какова продолжительность возвращаемого значения функции?
- 2. Какова цель этого возвращаемого значения?
- 3. Какова цель первого возвращаемого значения вызова цепочки?
- 4. Основная функция - какова точка возвращаемого значения?
- 5. Объем возвращаемого значения функции
- 6. Как назначить функцию возвращаемого значения переменной в Rust?
- 7. Какова область действия @EnableTransactionManagement?
- 8. Какова область тестирования NUnit?
- 9. Какова область действия #define?
- 10. Какова область действия XACT_ABORT
- 11. Какова область переменных типа?
- 12. Какова область вложенной структуры?
- 13. Какова область действия Server.MapPath
- 14. Какова область действия flock()?
- 15. Какова область require_once в PHP?
- 16. Какова область действия замка?
- 17. Установить область возвращаемого экземпляра в пользовательском ELResolver
- 18. Какова рекомендуемая структура каталогов для проекта Rust?
- 19. Какова область действия glTexParameter в OpenGL?
- 20. Какова область значений в столбце запроса SPARQL
- 21. Какова область литерального значения и как компилятор выделяет ей память?
- 22. Какова область действия статического поля?
- 23. Какова область (вложенных) пулов автоопределения?
- 24. Какова область действия yacc/bison?
- 25. Какова область применения ViewData Dictionary?
- 26. Какова область переопределения макросов C++?
- 27. Какова область действия Javascript/JQuery?
- 28. Какова область действия * CSS-хака?
- 29. Какова область действия php start_session()?
- 30. Какова область закладок подсказки стола?
Пожалуйста, разместите код, в котором вы это пробовали, и это не сработало. Если вы не пробовали какой-либо код, почему вы думаете, что это может быть невозможно? – Shepmaster
Мое первоначальное описание не помогло описать проблему. Это действительно не должно быть никакого примера кода, и я думаю, что это разумный вопрос (пост-обновление). – jarkko
Можете ли вы подробнее рассказать о том, что вы подразумеваете под «областью»? Я по-прежнему считаю, что некоторые примеры кода (даже псевдокоды) помогут нам понять, что вы хотите знать. Насколько я могу судить, ответ на ваш вопрос: «Это зависит от того, что называется» (предполагая, что вы имеете в виду * возвращаемое значение функции *). – Shepmaster