Tôi đã thấy rằng Scala luôn luôn có một "giải thích tự nhiên" cho bất cứ điều gì. Luôn luôn một cái gì đó như "ohh, nhưng đó chỉ là một chức năng được gọi là trên này và đối tượng với điều này và tham số đó". Trong một nghĩa nào đó, không có gì thực sự là biên dịch-ma thuật như chúng ta biết từ các ngôn ngữ khác.Scala "<-" để hiểu được
Câu hỏi của tôi là trên <- điều hành được sử dụng trong đoạn mã sau:
for(i <- 0 to 10) println(i)
Trong ví dụ này tôi có thể nhìn thấy nó được viết lại để cái gì đó như:
0.to(10).foreach((i:Int)=>println(i))
nhưng điều này không giải thích cách các số i được đưa vào anon chức năng ymous bên trong chức năng foreach. Tại thời điểm bạn viết i nó không phải là một đối tượng và chưa phải là biến được khai báo. Vì vậy, nó là gì, và làm thế nào nó được chuyển sang bên trong của foreach?
tôi đoán là cuối cùng tôi phát hiện ra một cái gì đó mà là trong thực tế biên dịch ma thuật
Cảm ơn thời gian của bạn.
Để làm rõ, câu hỏi của tôi là: cách < - toán tử hoạt động trong dòng mã thứ nhất vì tôi không phải là đối tượng mà trên đó nó có thể được gọi là hàm.
Điều này có vẻ là câu trả lời. Tôi sẽ đề nghị bạn ghi lại điều này nếu có thể, bây giờ nó không còn là màu xanh nữa. – Felix
@Felix: Tài liệu được mô tả trong đặc điểm kỹ thuật. Và khá nhiều cuốn sách Scala có sẵn trên thị trường bao gồm nó. – missingfaktor
oh yeah, tôi chưa nhận được cuốn sách nào. chờ đợi cho cuốn sách 2.8 dứt khoát – Felix