gpt4 book ai didi

rust - Rust 中 `mktemp` crate 的不一致行为

转载 作者:行者123 更新时间:2023-11-29 07:56:27 26 4
gpt4 key购买 nike

如果我在 expect 之后立即调用 .to_path_buf(),将不会创建临时目录。这是错误还是 Rust 功能?

extern crate mktemp;                                                                                                                                                                                        

use std::path::Path;

fn main() {
let temp_dir = mktemp::Temp::new_dir().expect("Failed to create a temp directory");
let temp_dir_path = temp_dir.to_path_buf();
println!("tmp path exists: {}", Path::exists(&temp_dir_path));

let temp_dir_path = mktemp::Temp::new_dir().expect("Failed to create a temp directory").to_path_buf();
println!("tmp path exists: {}", Path::exists(&temp_dir_path));
}

哪些输出:

tmp path exists: true
tmp path exists: false

最佳答案

我不知道,但我想知道the mktemp documentation 里有没有什么东西?关于这个……

Once the variable goes out of scope, the underlying file system resource is removed.

您没有将 Temp 存储在变量中,因此它会立即超出范围。它正在创建目录,然后立即销毁它。

关于rust - Rust 中 `mktemp` crate 的不一致行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48898458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com