diff --git a/exe/uplot b/exe/uplot index d66019d..b91ba9c 100755 --- a/exe/uplot +++ b/exe/uplot @@ -1,3 +1,33 @@ #!/usr/bin/env ruby require 'uplot' +require 'unicode_plot' +require 'optparse' + +parser = OptionParser.new + +subparsers = Hash.new do |_h, k| + warn "no such subcommand: #{k}" + exit 1 +end + +params = {} + +subparsers['hist'] = OptionParser.new.tap do |opt| + opt.on('--nbins VAL') { |v| params[:nbins] = v.to_i } + opt.on('-p') { |v| params[:p] = v } +end + +parser.order!(ARGV) +params[:type] = ARGV.shift +subparsers[params[:type]].parse!(ARGV) unless ARGV.empty? + +input_lines = readlines.map(&:chomp) + +case params[:type] +when 'hist', 'histogram' + series = input_lines.map(&:to_f) + UnicodePlot.histogram(series, nbins: params[:nbins]).render +end + +puts input_lines if params[:p] diff --git a/lib/uplot.rb b/lib/uplot.rb index ecc71ee..9436810 100644 --- a/lib/uplot.rb +++ b/lib/uplot.rb @@ -1,6 +1 @@ require 'uplot/version' - -module Uplot - class Error < StandardError; end - # Your code goes here... -end