Методы

Метод в Ruby - это блок кода, который имеет имя и может быть вызван из другого блока кода. Метод определяется с помощью ключевого слова def, за которым следует имя метода и его параметры, если они нужны. Внутри блока кода метода можно использовать различные операторы, условия, циклы, переменные и тд. Методы в Ruby имеют значение, которое возвращается с помощью последней строки кода внутри иметода - что вернется в последней строчке, то и будет результатом метода. Кроме того, вернуть значение можно с помощью ключевого слова return, если нужно выйти из метода заранее.

Давайте разберем примеры:

# Пример метода без параметров
def hello_world
  # последней строкой является `puts`, который ничего не возвращает
  # значит и наш метод не возвращает значения
  puts "Hello, world!"
end

# вызов метода
hello_world

# пример метода с параметрами (аргументами)
def sum(first, second)
    # результат последней строки кода будет сумма чисел
    first + second
end

puts sum(10, 20) # = 30. значит результатом метода будет сумма 10 и 20

# Пример метода с переменным числом аргументов
def sum(*numbers)
  result = 0
  for number in numbers
    result += num
  end
  # последняя строка - результат метода
  result
end

puts sum(1, 2, 3, 4, 5) # = 15. вызываем метод и выводим результат

Методы в Ruby используются для избежания повторения кода и упрощения программирования. Они позволяют определить блок кода и повторно использовать его в разных местах программы, а также передавать аргументы и получать результаты выполнения.

Методы в Ruby наиболее эффективно используются при создании больших, сложных программ. Их использование облегчает понимание кода, упрощает его тестирование и поддержку.

Этот код демонстрирует, как методы decimal_to_binary и palindrome? могут использоваться для обработки разных типов данных и решения разных задач. Их использование делает код более читаемым, понятным и легко тестируемым и поддерживаемым.

Важно: Так как Ruby выполняет код построчно сверху-вниз, то если объявить метод после его использования в программе, то можно получить ошибку. Тоже самое и с переменнными, которые используются внутри метода. Если переменная объявлена после объявления метода, который использует эту переменную, то можно увидеть ошибку, что программа не знает о существовании такой переменной

Аргументы по-умолчанию

Также мы можем давать аргументам в методах значение по умолчанию.

В этом случае мы можешь не передавать никакого значение в эти методы и тогда будут использоваться значения по умолчанию

Именные параметры

Кроме того мы можешь делать значения по умолчанию с помощью двоеточия :. В отличии от знака равенства мы можем передавать аргументы в метод по их названию

Задание income_calculator

есть программа:

  • Прочтите код, попытайтесь понять, что он делает.

  • Запустите код и посмотрите на выдачу. Прочтите ошибку, попытайтесь понять, что она означает.

  • Исправьте ошибку

  • Запустите еще раз код, убедитесь, что программа работает корректно.

  • Опишите общее назначение программы.

  • Напишите к каждой строчке кода комментарий о том, что выполняется в данной строке.

  • напишите метод для расчета минимальной сумму дохода calculate_min_income_for_investments, при вводе которой программа ответит, что инвестировать можно.

  • Вызовете этот метод до получения пользовательского ввода, чтобы пользователь заранее знал с каким доходом он сможет инвестировать

Рекомендации:

  • Примените существующие выражения в программе и выведите обратную формулу, удовлетворяющую условию инвестирования.

  • Задачу можно решить с помощью циклов или с помощью математического уровнения путем упрощения множителей. Ваша задача решить задачу, а не сделать это самым эффективным способом, поэтому оба решения будут считаться верным.

Last updated