Vidéo: Calcul du Nombre de Combinaisons d'un Rubik's Cube 2025
Ruby inclut un ensemble important et puissant de fonctionnalités intégrées. L'un des plus basiques est la capacité à faire de l'arithmétique simple. Entrez 2 + 2 à l'invite irb et appuyez sur Retour (Entrée):
2. 2. 2: 010> 2 + 2 => 4
Wow, Ruby peut faire les maths que vous avez appris à la maternelle! Regardez les autres opérations arithmétiques de multiplication, de division et de soustraction:
2. 2. 2: 011> 10 * 5 => 50 2. 2. 2: 012> 10/5 => 2 2. 2. 2: 013> 10 - 5 => 5
Ici, les symboles sont un peu différent, mais vous obtenez les résultats que vous attendez. Que faire si vous voulez essayer quelque chose d'encore plus compliqué, comme écrire la formule mathématique pour convertir les degrés Fahrenheit en degrés Celsius?
2. 2. 2: 018> (212 - 32) * 5/9 => 100
Vous convertissez 212 degrés Fahrenheit en commençant par soustraire 32, puis en multipliant le résultat par 5 / 9. Ruby fait le calcul et affiche le résultat, 100 degrés Celsius, ce qui est correct.
Pourquoi les parenthèses sont-elles incluses dans la formule? Essayez-le à nouveau sans eux. Aller de l'avant. Est-ce que Ruby t'a toujours donné la bonne réponse?
Non, car Ruby, comme d'autres langages de programmation, traite des lignes de code dans un certain ordre. Dans le cas des mathématiques, ainsi que d'autres opérations qu'il peut faire, Ruby a un sens des priorités en termes de quel ordre il va exécuter le code. Les parenthèses fournissent un indice de programmation pour faire le calcul dans l'ordre dans lequel vous voulez que ce soit fait.
Sans les parenthèses, Ruby exécute la formule dans l'ordre de multiplication et de division avant l'addition et la soustraction, ce qui est très différent de ce que vous voulez. C'est comme si Ruby pensait avoir dit:
2. 2. 2: 020> 212 - (32 * 5/9) => 195
Les programmeurs appellent cette priorité ordre des opérations ou préséance, un terme sophistiqué, en effet. Si vous trouvez que les lignes de code ne fonctionnent pas comme vous le pensiez, vérifiez la précédence du code que vous utilisez.
