Skip to content

Instantly share code, notes, and snippets.

@Prigin
Last active October 10, 2019 19:03
Show Gist options
  • Save Prigin/565d2e042b459252a9ad800fc527eda9 to your computer and use it in GitHub Desktop.
Save Prigin/565d2e042b459252a9ad800fc527eda9 to your computer and use it in GitHub Desktop.
final(?)
doc = "movies.txt"
syms = [:link, :title, :year, :country,
:date, :genre, :duration,
:rating, :director, :stars]
mas = File.foreach(doc).map{|line| syms.zip(line.chomp.split("|")).to_h}
def Show_em (array_hash)
array_hash.each do |unit|
puts unit[:title] + " (" + unit[:date] + "; " + unit[:genre] +") - " + unit[:duration]
end
end
puts
puts"=========LONGEST========="
Show_em mas.max_by(5){|a| a[:duration].split(" ").first.to_i}
puts
puts"====EARLIEST_COMEDIES===="
Show_em mas.select{|unit|
unit[:genre].include?("Comedy")}.min_by(10){|a| a[:date].split("-")}
puts
puts"========DIRECTORS========"
puts mas.collect{|unit|
unit[:director]}.uniq.sort_by{|a| a.split(" ").last}
puts
puts"=========NOT_USA========="
puts mas.select{|unit| unit[:country] != "USA" }.length
puts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment