Rust glob板条箱相当简单,只要在执行过程中不添加任何文件即可。但是,如果文件系统的状态发生变化,会发生什么?
请考虑以下情况:
// The folder contains a cute giraffe and a cute zebra.
let mut animals = glob("images/cute_*.jpg");
// A cute cat is added to the folder.
let first = animals.next();
// A cute dog is added to the folder.
let second = animals.next();
第一和第二是什么?长颈鹿和斑马?猫和狗?
用更专业的术语重新表达这个问题:glob
代表文件系统的快照吗?也许当迭代开始时?还是“实时”找到最近添加的文件?
答案 0 :(得分:3)
看the source code for glob,您会看到:
next
之前,它实际上并没有做任何事情,因此在您的示例中它将看到那只猫。在您的示例中,它将以不特定的顺序返回长颈鹿,斑马和猫。
但是请注意,这只是查看当前的代码,如果修改了代码,行为可能会改变。