Considérez le code suivant:Ruby - et les opérateurs
x = 4
y = 5
z = (y + x)
puts z
Comme on pouvait s'y attendre, la sortie est 9
. Si vous introduisez une nouvelle ligne:
x = 4
y = 5
z = y
+ x
puts z
Ensuite, sorties 5
. Cela est logique, car il est interprété comme deux instructions distinctes (z = y
et +x
).
Cependant, je ne comprends pas comment cela fonctionne: lorsque vous avez une nouvelle ligne entre parenthèses:
x = 4
y = 5
z = (y
+ x)
puts z
La sortie est 4
. Pourquoi?
+1. J'essayais d'expliquer le concept de base des commandes inachevées quand je me suis rendu compte que la sortie était de 4, pas de 9. Bon départ :) – Matchu
Cela fait beaucoup de sens. Je venais du même exemple dans Scala où il le traite comme z = (y + x) et sort 9. Bonne explication :-) – mopoke
Les parenthèses multilignes sont essentiellement un bloc, et la valeur du bloc est la dernière instruction qui s'y trouve. – kejadlen