rl_lang/interpreter/stdlib/io/
println.rs1use crate::interpreter::evaluator::Evaluator;
2use crate::interpreter::values::Value;
3use crate::utils::errors::Error;
4use crate::utils::span::Span;
5
6pub fn std_println(eval: &mut Evaluator, args: Vec<Value>, _: Span) -> Result<Value, Error> {
7 let text = args.iter().map(|s| s.to_string()).collect::<String>();
8
9 if let Some(buffer) = &mut eval.output_buffer {
10 buffer.push_str(&text);
11 buffer.push('\n');
12 } else {
13 println!("{}", text);
14 }
15 Ok(Value::Null)
16}