Raccourcis arithmétiques
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 13 sur 88.
Lorsque vous avez besoin de mettre à jour la valeur d'une variable en fonction de sa valeur actuelle, Ruby propose des opérateurs raccourcis appelés opérateurs d'affectation composée. Ceux-ci combinent une opération arithmétique avec une affectation en une seule étape.
Au lieu d'écrire score = score + 10, vous pouvez utiliser score += 10. Les deux font la même chose, mais le raccourci est plus propre et plus courant dans le code réel.
Voici les raccourcis arithmétiques disponibles en Ruby :
points = 100
points += 25 # Identique à : points = points + 25 (maintenant 125)
points -= 10 # Identique à : points = points - 10 (maintenant 115)
points *= 2 # Identique à : points = points * 2 (maintenant 230)
points /= 5 # Identique à : points = points / 5 (maintenant 46)
points %= 10 # Identique à : points = points % 10 (maintenant 6)Ces raccourcis fonctionnent avec tous les opérateurs arithmétiques que vous avez appris, y compris le modulo. Ils sont particulièrement utiles lors de l'incrémentation de compteurs ou de l'accumulation de totaux, rendant votre code plus concis et lisible.
Défi
FacileOn vous fournit la variable suivante :
balance = 200En utilisant uniquement des opérateurs d'affectation composée (+=, -=, *=, /=, %=), effectuez les opérations suivantes sur balance dans l'ordre :
- Ajoutez
50àbalance - Soustrayez
30debalance - Multipliez
balancepar2 - Divisez
balancepar4 - Obtenez le reste de la division de
balancepar7
Après chaque opération, affichez la valeur actuelle de balance en utilisant puts. Vous devriez avoir un total de 5 lignes de sortie.
Aide-mémoire
Ruby propose des opérateurs d'affectation composée qui combinent des opérations arithmétiques avec l'affectation :
points = 100
points += 25 # Équivaut à : points = points + 25
points -= 10 # Équivaut à : points = points - 10
points *= 2 # Équivaut à : points = points * 2
points /= 5 # Équivaut à : points = points / 5
points %= 10 # Équivaut à : points = points % 10Opérateurs d'affectation composée disponibles :
+=pour l'addition-=pour la soustraction*=pour la multiplication/=pour la division%=pour le modulo
Essayez vous-même
# Solde initial
balance = 200
# TODO: Écrivez votre code ci-dessous
# Utilisez les opérateurs d'affectation composée (+=, -=, *=, /=, %=) pour :
# 1. Ajouter 50 au solde, puis l'afficher
# 2. Soustraire 30 du solde, puis l'afficher
# 3. Multiplier le solde par 2, puis l'afficher
# 4. Diviser le solde par 4, puis l'afficher
# 5. Obtenir le reste de la division du solde par 7, puis l'afficherCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect