From 148196dae5ea64848d65185c20bf991e0514f3a2 Mon Sep 17 00:00:00 2001 From: teo3300 Date: Sat, 8 Jul 2023 12:48:53 +0200 Subject: [PATCH] Change code syntax to make it a bit better Signed-off-by: teo3300 --- src/env.rs | 8 ++++---- src/step3_env.rs | 10 ++-------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/env.rs b/src/env.rs index d12e3a7..546afa3 100644 --- a/src/env.rs +++ b/src/env.rs @@ -66,9 +66,9 @@ pub fn env_init() -> Env { env_init!(None, "test" => Fun(|_| Ok(Str("This is a test function".to_string()))), "quit" => Fun(|_| {println!("Bye!"); exit(0)}), - "+" => Fun(|a| int_op(0, |a, b| a + b, a)), - "-" => Fun(|a| int_op(0, |a, b| a - b, a)), - "*" => Fun(|a| int_op(1, |a, b| a * b, a)), - "/" => Fun(|a| int_op(1, |a, b| a / b, a)) + "+" => Fun(|a| int_op(0, |a, b| a + b, a)), + "-" => Fun(|a| int_op(0, |a, b| a - b, a)), + "*" => Fun(|a| int_op(1, |a, b| a * b, a)), + "/" => Fun(|a| int_op(1, |a, b| a / b, a)) ) } diff --git a/src/step3_env.rs b/src/step3_env.rs index 1992cc7..dba8e44 100644 --- a/src/step3_env.rs +++ b/src/step3_env.rs @@ -13,19 +13,13 @@ use crate::types::{MalRet, MalType}; #[allow(non_snake_case)] /// Read input and generate an ast fn READ(input: &str) -> MalRet { - match read_str(input) { - Ok(ast) => Ok(ast), - Err(err) => Err(format!("@ READ: {}", err)), - } + read_str(input).map_err(|err| format!("@ READ: {}", err)) } #[allow(non_snake_case)] /// Evaluate the generated ast fn EVAL(ast: MalType, env: &mut Env) -> MalRet { - match eval(&ast, env) { - Ok(ast) => Ok(ast), - Err(err) => Err(format!("@ EVAL: {}", err)), - } + eval(&ast, env).map_err(|err| format!("@ EVAL: {}", err)) } #[allow(non_snake_case)]