Sha256: e6097a4ef8ac086ebc7170e775f16e061971be754b078e260b543be949ad4711

Contents?: true

Size: 547 Bytes

Versions: 10

Compression:

Stored size: 547 Bytes

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

#
# frequency-list
#
# Input:  A list of lines.
# Output: The unique lines in the input, sorted by frequency of occurrence.
#
# EXAMPLE
#
# Input:
#
#   apple
#   banana
#   apple
#   cherry
#
# Output:
#
#   2 apple
#   1 banana
#   1 cherry
#

lines = ARGF.readlines

frequency = lines.each_with_object(Hash.new(0)) do |line, counts|
  counts[line.chomp] += 1
end

sorted_frequency = frequency.sort_by { |_, count| -count }

sorted_frequency.each do |line, count|
  puts "#{count} #{line}"
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
quality_report-1.7.0 exe/frequency-list
quality_report-1.6.0 exe/frequency-list
quality_report-1.5.0 exe/frequency-list
quality_report-1.4.0 exe/frequency-list
quality_report-1.3.0 exe/frequency-list
quality_report-1.2.2 exe/frequency-list
quality_report-1.2.1 exe/frequency-list
quality_report-1.2.0 exe/frequency-list
quality_report-1.1.0 exe/frequency-list
quality_report-1.0.0 exe/frequency-list