def loop_once
    input, result, err = get_input, nil, nil
    throw(:rib_exit, input) if config[:exit].include?(input)

    result, err = eval_input(input)

    if err
      print_eval_error(err)
    elsif input.strip != '' && !equal_rib_skip(result)
      print_result(result)
    else
      # print nothing for blank input or Rib::Skip
    end

    flush_warnings

    [result, err]
  rescue Interrupt
    handle_interrupt
  end
def loop_once
    input, result, err = get_input, nil, nil
    throw(:rib_exit, input) if config[:exit].include?(input)

    result, err = eval_input(input)

    if err
      print_eval_error(err)
    elsif input.strip != '' && !equal_rib_skip(result)
      print_result(result)
    else
      # print nothing for blank input or Rib::Skip
    end

    flush_warnings

    [result, err]
  rescue Interrupt
    handle_interrupt
  end
Loop iteration: REPL