我正在用 Rust 编写一个程序,在用户定义的路径中创建一个文件。我需要能够规范化中间组件(~/应该成为$HOME/,../应该进入目录等),以便在正确的位置创建文件。std::fs::canonicalize几乎完全符合我的要求,但如果路径尚不存在,它会出现恐慌。
是否有一个函数可以以相同的方式标准化组件,std::fs::canonicalize但如果文件不存在则不会出现恐慌?
在我的 Pixel课堂上,我有以下代码
class Pixel {
ArrayList<Integer> values = new ArrayList<Integer>();
...
public void brighten(int amount) {
ArrayList<Integer> newValues = new ArrayList<>();
this.values.forEach((Integer value) -> newValues.add(value + amount));
this.values = newValues;
}
...
}
Run Code Online (Sandbox Code Playgroud)
有没有办法避免直接在 lambda 函数中创建newValues和增加valuesArrayList 中的值?