Xét đoạn mã sau:Ruby - dòng mới và khai thác
x = 4
y = 5
z = (y + x)
puts z
Như bạn mong muốn, đầu ra là 9
. Nếu bạn giới thiệu một dòng mới:
x = 4
y = 5
z = y
+ x
puts z
Sau đó, kết quả là 5
. Điều này có ý nghĩa, bởi vì nó được hiểu là hai câu riêng biệt (z = y
và +x
).
Tuy nhiên, tôi không hiểu tại sao nó hoạt động khi bạn có một dòng mới trong ngoặc đơn:
x = 4
y = 5
z = (y
+ x)
puts z
Đầu ra là 4
. Tại sao?
+1. Tôi đã cố gắng để giải thích khái niệm cơ bản của các lệnh chưa hoàn thành khi tôi nhận ra rằng đầu ra là 4, không 9. Tốt đi :) – Matchu
Điều đó làm cho rất nhiều ý nghĩa. Tôi đã đến từ ví dụ tương tự ở Scala, nơi nó xử lý nó như z = (y + x) và đầu ra 9. Giải thích tốt :-) – mopoke
Dấu ngoặc đơn là bản chất khối và giá trị của khối là câu lệnh cuối cùng trong nó. – kejadlen