Chỉ cần đoán công việc ... Bạn cần một số dấu phân cách cụ thể của khai báo kiểu tự. Hãy tưởng tượng rằng =>
đã bị bỏ qua. this: String
sẽ là một tuyên bố hợp lệ cú pháp (mặc dù trình kiểm tra loại sẽ khiếu nại).
Vì vậy, dấu phân cách nào phải là dấu phân tách? Bạn sẽ không muốn niềng răng lồng nhau như trait A { self: String { ... }}
. Vì vậy, các dấu phân cách hiện tại không ghép nối tồn tại? =>
là người duy nhất tôi có thể nghĩ đến.
Trường hợp là =>
được sử dụng ở nơi khác? Là đường cho các loại chức năng (A => B
) và đối với các cơ quan chức năng (i: Int => i + 1
). Ngoài ra đối với các đối số theo từng tên và đối với các trường hợp đối sánh mẫu. Cách sử dụng cuối cùng này phần nào gắn kết với kiểu tự. Nó giống như kết hợp this
là của một loại cụ thể, và sau đó xác định cơ thể tùy thuộc vào 'trận đấu' này. Tôi không biết, có lẽ đây là một sự tương tự ngớ ngẩn.
Nguồn
2012-06-30 22:10:22
Đó là một bit lạ của cú pháp tôi nghĩ vì nó có vẻ giống như một mũi tên mà sẽ trỏ đến một cái gì đó ... – david
Vâng, khi bắt đầu học Scala, tôi luôn nghĩ mũi tên chỉ vào phần còn lại của cơ thể , trông giống như một chức năng và gây nhầm lẫn cho tôi rất nhiều. –