1.I can\'t find an elegant way to write this code:
if array.empty? # process empty array else array.each do |el| # process el end end
Assuming that "process empty array" leaves it empty after processing, you can leave out the else:
if array.empty? # process empty array end array.each do |el| # process el end
or in one line:
array.empty? ? process_empty_array : array.each { |el| process_el }