Задание 9-4: Является ли такое написание кода правильным?

[R] Roman Melnykovych, 1 мая 2017, 23:15 , 2 подписчика
puts "Вот наша колбаса"
kolbasa = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
puts "#{kolbasa}"

def obrezaet(kolbasa, n)

  counter = 0

  while counter <= n do
    kolbasa.reject!{ |item| item > n }
    counter += 1
  end
  puts "Вот ваши кусочки: #{kolbasa}"
end

puts "Сколько кусочков вам отрезать?"
n = gets.chomp.to_i
obrezaet(kolbasa, n)

Обсуждение (3)


Michael Butlitsky Учитель

[M]

Что значит "правильное написание"?

Поставленную задачу решает — уже не плохо. По стилю: плохое название метода, пустые строки не очень, выбранный метод отрезания неоптимальный (либо в цикле сами из массива удаляйте, либо найдите изящный способ встроенными функциями, раз все равно их стали использовать).


[R]

Извините за некорректную формулировку. В будущем постараюсь более правильно формировать вопрос. Сейчас это сделать сложно потому, что я не владею тем предметом о котором спрашиваю. "Правильное написание" в даном контексте означает, что меня интересует решил ли задачу так как вы планировали. Задания решаю полуинтуитивно и во многих случаях не понимая того как можна решить иначе. После прочтения ДЗ появляется определённая идея которую я пробую реализовать и под это ищу пути (наверное потому и коды получаются корявые). Большое спасибо за ответ и совет.


Michael Butlitsky Учитель

[M]

Вы все правильно делаете. Именно так, шаг за шагом и вырастает понимание.

более правильно формировать вопрос

Как можете, так и формируйте, главное учитывайте нашу обратную связь.