Guest User

Untitled

a guest
Jan 23rd, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. require 'csv'
  2.  
  3. CSV_FILENAME = "some_names.csv"
  4.  
  5. names_hash = {}
  6. matches_array = []
  7.  
  8. CSV.foreach(CSV_FILENAME) do |row|
  9. last_name,first_name = row[0],row[1]
  10.  
  11. if names_hash[last_name].nil?
  12. names_hash[last_name] = []
  13. end
  14. names_hash[last_name].push(first_name)
  15. end
  16.  
  17. names_hash.map do |last_name, first_names|
  18. initials = first_names.map {|name| name[0]}.uniq
  19. initials.each do |initial|
  20. matching_names = first_names.select {|n| n[0] == initial}
  21. if matching_names.count > 1
  22. matching_names.each do |first_name|
  23. matches_array << "#{first_name} #{last_name}"
  24. end
  25. end
  26. end
  27. end
  28.  
  29. puts matches_array
Add Comment
Please, Sign In to add comment