写RUST的时候,我经常遇到一个报错 说哪已经mut borrow了 不能再次mut borrow
经过分析实验
我感觉最合理的做法是设计的时候就要给该对象够多的API
lightsys需要装载各种light,Point Spot
这里要么把lighsys传递给对应的light进行操作,要么把point传递给lightsys进行操作
经过我的BUG体验之后,这类似的问题我算是摸清了
要尽量给这个主题多一些API
像这个lightsys
rust
struct LightSys{
p: PointLight,
s: SpotLight
}
impl LightSys {
pub fn setPointLight(&mut self, radius? density? color?...)
pub fn setSpotLight(&mut self, radius? density? color?...)
这样就在外面直接light_sys.setXXXX setYYYY setZZZZ就避免了把这个light_sys传来传去
这个例子可能不太合理,但是主要就是记一下这个事情,理解这个问题,尽量避开传来传去,就能避免多次mut borrow~