Natively handle negative numbers in tokenizer instead of the neg() function.

This commit is contained in:
Stephen Chung
2020-03-09 10:10:19 +08:00
parent c5b40783ef
commit 01d04f717b
3 changed files with 46 additions and 24 deletions

View File

@@ -5,8 +5,8 @@ fn test_unary_minus() -> Result<(), EvalAltResult> {
let mut engine = Engine::new();
assert_eq!(engine.eval::<i64>("let x = -5; x")?, -5);
assert_eq!(engine.eval::<i64>("fn n(x) { -x } n(5)")?, -5);
assert_eq!(engine.eval::<i64>("5 - -(-5)")?, 0);
assert_eq!(engine.eval::<i64>("fn neg(x) { -x } neg(5)")?, -5);
assert_eq!(engine.eval::<i64>("5 - -+++--+-5")?, 0);
Ok(())
}