Đặc biệt có nghĩa là chúng cung cấp cho bạn chức năng không thể có được nếu không, vì vậy chúng xử lý bằng trình biên dịch theo cách đặc biệt. Ví dụ: 'DelayedInit' - chuyển đổi tất cả mã init thành phương thức chính, 'Động' - proxy của tất cả các phương thức, v.v.Tôi có thể tìm danh sách tất cả các đặc điểm đặc biệt ở Scala ở đâu?
Trả lời
Hiện tại, các đặc điểm duy nhất mà tôi biết là DelayedInit
và Dynamic
.
Bất cứ điều gì thừa kế từ những đặc điểm này cũng được xử lý đặc biệt bởi trình biên dịch, như với App
, phân lớp DelayedInit
.
Cần lưu ý rằng bất kỳ đặc tính nào có thể được sử dụng làm điểm đánh dấu bởi một số plugin thư viện, khung hoặc trình biên dịch để "cung cấp cho bạn chức năng không thể nhận khác". Đây là hai đặc điểm duy nhất được nhận dạng đặc biệt bởi mặc định là compiler mặc dù là.
Cũng như đặc điểm đánh dấu, có một số chú thích mà có được đối xử đặc biệt, các scala.annotation
và scala.reflect
là những nơi tốt để tìm những, cũng có những @specialized
chú thích trong gói scala
và một số trong plugin trình biên dịch (như continuations delimited) .
Ngoài ra còn có scala.Singleton
.
Đây là final trait
và không thể sử dụng bình thường khi viết mã, nhưng mọi người sử dụng một số singleton như object Foo
đã sử dụng nó gián tiếp.
Singleton
được sử dụng bởi trình biên dịch để mở rộng một singleton, do đó:
scala> object Foo
defined module Foo
scala> Foo.isInstanceOf[Singleton]
res0: Boolean = true
- 1. Tôi có thể tìm danh sách tất cả từ khóa HQL ở đâu?
- 2. Tôi có thể lấy danh sách tất cả các phần tử iOS ở đâu?
- 3. Tôi có thể tìm danh sách timezоnes ở đâu?
- 4. Tôi có thể tìm thấy đặc tả lệnh USSD ở đâu?
- 5. Tôi có thể tìm GACUtil ở đâu?
- 6. Tôi có thể tìm danh sách mã lỗi số JSHint ở đâu?
- 7. Tôi có thể tìm danh sách đầy đủ (!) Của tất cả các sự kiện Hibernate ở đâu?
- 8. Tôi có thể tìm danh sách các hằng số API cửa sổ ở đâu
- 9. Tôi có thể tìm danh sách các mục theo phong cách Android ở đâu?
- 10. Tôi có thể tìm danh sách các nút khởi động dht bittorent ở đâu?
- 11. Tôi lấy danh sách tên Build.MODEL ở đâu cho tất cả các thiết bị Android?
- 12. Tôi lấy danh sách tất cả các chữ ký virus đã biết ở đâu?
- 13. Tài liệu Python ở đâu cho các phương pháp đặc biệt? (__init__, __new__, __len__, ...)
- 14. Tôi có thể nhận mã bưu chính ở tất cả các quốc gia ở đâu?
- 15. Tôi có thể tìm danh sách các bộ tăng tốc loại Powershell .NET ở đâu?
- 16. Tôi có thể tìm danh sách các thư mục LDAP Active và ý nghĩa ở đâu?
- 17. Tôi có thể tìm danh sách các phiên bản đường ray khác nhau ở đâu?
- 18. Tôi có thể tìm danh sách các thuộc tính của Transformer.setOutputProperty ở đâu?
- 19. Tôi có thể tìm hiểu về việc xây dựng AST cho các macro Scala ở đâu?
- 20. Tôi có thể tìm danh sách mã phím bàn phím ở đâu?
- 21. Tôi có thể tìm Danh sách hướng dẫn lắp ráp x86_64 toàn diện ở đâu?
- 22. Tôi có thể lấy danh sách tất cả các miền e-mail của trường Cao đẳng/Đại học ở đâu?
- 23. Tôi có thể tìm thông tin đặc tả hướng dẫn lắp ráp cho Motorola 68000 ở đâu?
- 24. Tôi có thể tìm gói javax.media.opengl ở đâu?
- 25. loại đặc điểm đặc điểm
- 26. Tôi có thể tìm danh sách mã lỗi SQLException cho MySQL ở đâu?
- 27. Tôi có thể tìm danh sách SocketErrorCode và NativeErrorCode do SocketException đưa ra ở đâu?
- 28. Tôi có thể tìm danh sách mã thoát "mysqldump" ở đâu?
- 29. Tôi có thể tìm danh sách đen trên WebGL GPU của Chrome ở đâu?
- 30. động khác biệt đặc điểm từ Scala 2,9-2,10
Một điểm nhỏ: DelayedInit là "kỳ diệu" đặc điểm, ứng dụng chỉ sử dụng nó. –
'App' chỉ là" huyền diệu "vì lý do hiệu suất liên quan đến việc tối ưu hóa các nhà xây dựng trên JVM. Bạn có thể dễ dàng tạo ra đặc điểm thực thi của riêng bạn bằng cách cho nó một phương thức 'main (args: Array [String])': xem ví dụ về đặc điểm 'Application' (không được chấp nhận). –