Menu
Coddy logo textTech

Сокращенная арифметика

Часть раздела Основы путешествия по Ruby на Coddy — урок 13 из 88.

Когда вам нужно обновить значение переменной на основе её текущего значения, Ruby предоставляет сокращенные операторы, называемые составными операторами присваивания. Они объединяют арифметическую операцию с присваиванием в один шаг.

Вместо того чтобы писать score = score + 10, вы можете использовать score += 10. Оба варианта делают одно и то же, но сокращенная запись чище и чаще встречается в реальном коде.

Вот арифметические сокращения, доступные в Ruby:

points = 100
points += 25   # То же самое, что: points = points + 25 (теперь 125)
points -= 10   # То же самое, что: points = points - 10 (теперь 115)
points *= 2    # То же самое, что: points = points * 2 (теперь 230)
points /= 5    # То же самое, что: points = points / 5 (теперь 46)
points %= 10   # То же самое, что: points = points % 10 (теперь 6)

Эти сокращения работают со всеми арифметическими операторами, которые вы изучили, включая остаток от деления (modulo). Они особенно полезны при инкрементировании счетчиков или накоплении итоговых значений, делая ваш код более лаконичным и читаемым.

challenge icon

Задание

Легко

Вам предоставлена следующая переменная:

balance = 200

Используя только операторы комбинированного присваивания (+=, -=, *=, /=, %=), выполните следующие операции над balance по порядку:

  1. Прибавьте 50 к balance
  2. Вычтите 30 из balance
  3. Умножьте balance на 2
  4. Разделите balance на 4
  5. Получите остаток от деления balance на 7

После каждой операции выводите текущее значение balance с помощью puts. Всего у вас должно получиться 5 строк вывода.

Шпаргалка

Ruby предоставляет составные операторы присваивания, которые объединяют арифметические операции с присваиванием:

points = 100
points += 25   # То же самое, что и: points = points + 25
points -= 10   # То же самое, что и: points = points - 10
points *= 2    # То же самое, что и: points = points * 2
points /= 5    # То же самое, что и: points = points / 5
points %= 10   # То же самое, что и: points = points % 10

Доступные составные операторы присваивания:

  • += для сложения
  • -= для вычитания
  • *= для умножения
  • /= для деления
  • %= для остатка от деления

Попробуйте сами

# Начальный баланс
balance = 200

# TODO: Напишите свой код ниже
# Используйте операторы комбинированного присваивания (+=, -=, *=, /=, %=), чтобы:
# 1. Добавить 50 к балансу, затем вывести его
# 2. Вычесть 30 из баланса, затем вывести его
# 3. Умножить баланс на 2, затем вывести его
# 4. Разделить баланс на 4, затем вывести его
# 5. Получить остаток от деления баланса на 7, затем вывести его
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы