fix: skip null output + panick on unwrap
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
+1
-1
@@ -239,7 +239,7 @@ impl Parser {
|
||||
literal: String::from(&self.cur_token.literal),
|
||||
type_: self.cur_token.type_,
|
||||
},
|
||||
expression: self.parse_expression(Precedence::Lowest).unwrap(),
|
||||
expression: self.parse_expression(Precedence::Lowest)?,
|
||||
};
|
||||
|
||||
if self.peek_token_is(TokenType::Semicolon) {
|
||||
|
||||
+5
-3
@@ -3,7 +3,7 @@ use std::rc::Rc;
|
||||
|
||||
use crate::evaluator;
|
||||
use crate::lexer::new;
|
||||
use crate::object::Environment;
|
||||
use crate::object::{Environment, ObjectType};
|
||||
use crate::parser::Parser;
|
||||
use crate::parser::new_parser;
|
||||
|
||||
@@ -30,8 +30,10 @@ pub fn start_repl() {
|
||||
for err in parser.errors() {
|
||||
eprintln!("ERROR: {}", err);
|
||||
}
|
||||
if !evaluated.is_none() {
|
||||
println!("{}", evaluated.unwrap().inspect());
|
||||
if let Some(obj) = evaluated {
|
||||
if obj.object_type() != ObjectType::NULL {
|
||||
println!("{}", obj.inspect());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user