Ваши баклажаны и персики должны быть заключены в кавычки, чтобы быть правильными строками,
if eggplant_peaches[i] == "?"
Теперь, когда вы спросили, как сделать код короче, вы можете сделать это:
def counting(array)
winner = array.group_by(&:itself).sort_by {|k,v| v.size }.last.first
# The steps here are:
# %w[? ? ?].group_by(&:itself)
# => {"?"=>["?"], "?"=>["?", "?"]}
# .sort_by { |k,v| v.size}
# => [["?", ["?"]], ["?", ["?", "?"]]]
# .last
# => ["?", ["?", "?"]]
# .first
# => "?"
puts "More #{winner}"
end
counting(%w[? ? ?])
=> More ?
В качестве бонуса вышеуказанный код также работает для бананов:
counting(%w[? ? ? ? ? ?])
=> More ?