Я (почти) создал алгоритм сортировки кубков, который принимает параметры цвета и радиуса, затем выплевывает имена кубков, ранжированные по длине радиуса.Example input
2
blue 7
10 red
Example output
red
blue
Проблема в том, что я хочу создать фильтр, который проверяет, является ли первое значение числом при разделении.Затем это число делится на 2, и оба значения меняются местами.Я попытался is_a? Integer
, но получил ошибку expecting end of input
в консоли irb.Я пытался == int
.
Вот код:
class Cup
attr_accessor :colour, :radius
def initialize(colour, radius)
@colour = colour
@radius = radius
end
end
cups = []
puts "How many cups are there?"
gets.to_i.times do |n|
puts "Enter Cup-#{n+1} colour & radius:"
value = gets.split " "
if
value.first.to_i == int?
then
value.first / 2
value.reverse
cups << Cup.new(value[0], value[1])
end
cups << Cup.new(value[0], value[1])
end
print cups.colour.sort_by { |cup| cup.radius }
Любые другие отзывы об алгоритме очень приветствуются.