作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
在获取可执行文件的文件路径并在 inner_main()
中附加 nvs
之后,我尝试在 main() 中将其转换为字符串
:
use std::{env, io, path::PathBuf, process};
fn inner_main() -> io::Result<PathBuf> {
let exe = env::current_exe()?;
let dir = exe.parent().expect("Executable must be in some directory");
let dir = dir.join("nvs");
Ok(dir)
}
fn main() {
let path = inner_main() as String;
println!("The current directory is {:?}", path);
process::exit(0);
}
它会导致错误:
error[E0605]: non-primitive cast: `std::result::Result<std::path::PathBuf, std::io::Error>` as `std::string::String`
--> src/main.rs:11:16
|
11 | let path = inner_main() as String;
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: an `as` expression can only be used to convert between primitive types. Consider using the `From` trait
我该如何将其转换为 String
或 &str
?
我是一名优秀的程序员,十分优秀!