class Reline::GeneralIO

def self.getc

def self.getc
  unless @@buf.empty?
    return @@buf.shift
  end
  c = nil
  loop do
    result = @@input.wait_readable(0.1)
    next if result.nil?
    c = @@input.read(1)
    break
  end
  c&.ord
end