Rozważmy następujący kod:Ruby - nowe linie i operatorzy
x = 4
y = 5
z = (y + x)
puts z
Jak można się spodziewać, wyjście jest 9
. Jeśli wprowadzisz znak nowej linii:
x = 4
y = 5
z = y
+ x
puts z
Następnie wyprowadza 5
. Ma to sens, ponieważ jest interpretowane jako dwa oddzielne stwierdzenia (z = y
i +x
).
Ja jednak nie rozumiem, jak to działa, gdy masz przełamane w nawiasach:
x = 4
y = 5
z = (y
+ x)
puts z
wyjście jest 4
. Czemu?
+1. Próbowałem wyjaśnić podstawową koncepcję niedokończonych poleceń, gdy zdałem sobie sprawę, że wynik to 4, a nie 9. Dobra robota :) – Matchu
To ma wiele sensu. Pochodzę z tego samego przykładu w Scali, gdzie traktuje go jako z = (y + x) i wyjścia 9. Dobre wyjaśnienie :-) – mopoke
Nawiasy wielowierszowe są w zasadzie blokami, a wartość bloku jest ostatnią z nich. – kejadlen