diff --git a/src/core/database.rs b/src/core/database.rs index 478002ac..420f4742 100644 --- a/src/core/database.rs +++ b/src/core/database.rs @@ -174,6 +174,13 @@ impl DataBase { self.params[layer].get_mut(name).unwrap().set_as_single(val) } + fn get_target_layer(&mut self, name: &str, layer: Option) -> usize { + match layer { + Some(n) => n, + None => self.solve_layer(name), + } + } + fn solve_layer(&mut self, name: &str) -> usize { self.get_layer_pos(name).unwrap_or(0) } @@ -235,11 +242,7 @@ impl DataBase { } pub fn set_array(&mut self, name: &str, v: Vec, layer: Option) -> Result<(), String> { - let layer = match layer { - Some(n) => n, - None => self.solve_layer(name), - }; - + let layer = self.get_target_layer(name, layer); setter::array(self, name, v, layer) } diff --git a/src/core/database/setter.rs b/src/core/database/setter.rs index 22759bef..7e633ee9 100644 --- a/src/core/database/setter.rs +++ b/src/core/database/setter.rs @@ -38,6 +38,6 @@ pub fn flag(db: &mut DataBase, name: &str, flag: char) { pub fn array(db: &mut DataBase, name: &str, v: Vec, layer: usize) -> Result<(), String> { db.write_check(name)?; - db.params[layer].insert( name.to_string(), Box::new(ArrayData::from(v))); + db.params[layer].insert(name.to_string(), Box::new(ArrayData::from(v))); Ok(()) }