Interpreter - Variable assignment
This commit is contained in:
parent
8d6191c7ee
commit
f4111577ca
2 changed files with 7 additions and 3 deletions
src/interpreter
|
@ -28,10 +28,10 @@ impl Environment {
|
|||
}
|
||||
|
||||
/// Assign a value to an existing variable.
|
||||
pub fn assign(&mut self, name: &Token, value: &Value) -> Result<(), InterpreterError> {
|
||||
pub fn assign(&mut self, name: &Token, value: Value) -> InterpreterResult {
|
||||
if self.values.contains_key(&name.lexeme as &str) {
|
||||
self.values.insert(name.lexeme.clone(), value.clone());
|
||||
Ok(())
|
||||
self.values.insert(name.lexeme.clone(), value);
|
||||
Ok(Value::Nil)
|
||||
} else {
|
||||
Err(InterpreterError::new(
|
||||
name,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue