Loại dự báo nào trong Scala hữu ích cho? Tại sao hệ thống kiểu của Scala hỗ trợ cả kiểu dự báo và kiểu phụ thuộc đường dẫn? Lý do đằng sau quyết định thiết kế này là gì?Loại dự báo hữu ích cho là gì?
Trả lời
Không phải là một câu trả lời hoàn chỉnh, nhưng đây là một số sử dụng cho loại hình dự báo mà tôi đã gặp phải:
Loại mực Lập trình meta. Đối với ví dụ, xem loạt Michid của (phần I, II, III), Jesper của implementation of HList, và series at Apocalisp.
Giải pháp thay thế để cho phép suy luận kiểu (ví dụ: dưới đây là một số câu hỏi SO trước đây 1, 2, 3).
Một cách để gói một loạt các loại vào một tham số kiểu duy nhất. Ví dụ, trong thư viện ma trận tôi đang phát triển, tôi xác định
trait Scalar { type A; type B; type C; ... }
và sau đó chuyển nó thành một tham số duy nhất cho đặc điểm ma trận của tôi,trait Matrix[S <: Scalar] ...
Các loại riêng lẻ có thể được gọi làS#A
,S#B
, v.v. Giữa hai ma trận của loạiMatrix[S]
, cho cùngS
, các loại sẽ tương thích (không giống như những gì sẽ là trường hợp với các loại phụ thuộc đường dẫn).
Một loại điều dự báo có thể được sử dụng cho là một phần ứng dụng loại:
({type λ[x]=Tuple2[Int,x]})#λ
- 1. Plugin Xcode hữu ích nhất là gì?
- 2. Vị trí là gì: tương đối hữu ích cho?
- 3. Ống kính được sử dụng/hữu ích cho là gì?
- 4. Enum hữu ích cho việc gì?
- 5. `type_info :: before` hữu ích cho mục đích gì?
- 6. Các dự án hữu ích trong Haskell
- 7. Mage là gì và theo cách nào là hữu ích?
- 8. ReverseHTTP là gì và tại sao nó lại hữu ích?
- 9. TTL 0 trong CloudFront hữu ích cho mục đích gì?
- 10. Là HttpContextWrapper tất cả những gì .... hữu ích?
- 11. Tìm kiếm rộng đầu tiên hữu ích cho việc gì?
- 12. .NET 4.5 CustomReflectionContext: nó hữu ích cho cái gì?
- 13. Tiện ích WPF hữu ích
- 14. PyWinAuto vẫn hữu ích?
- 15. Các lớp Java hữu ích/hữu ích nhất?
- 16. là jquery .find luôn hữu ích?
- 17. Nhận thông báo lỗi hữu ích trên Windows 7
- 18. Móc Mercurial hữu ích
- 19. Log4net/Logging - Bạn thấy điều gì hữu ích?
- 20. Loại ứng dụng nào sẽ CouchDB hữu ích nhất/trình diễn cho?
- 21. Lợi ích của việc đóng góp cho các dự án nguồn mở là gì?
- 22. "Ném" làm gì và nó hữu ích như thế nào?
- 23. Hình ảnh vector có hữu ích cho Android không?
- 24. Khi nào File.join hữu ích?
- 25. Khi nào __proto__ hữu ích?
- 26. Trình trợ giúp chuỗi hữu ích nhất mà bạn đã gặp phải là gì?
- 27. Chức năng xử lý là gì và nó hữu ích như thế nào?
- 28. SVN - Truy xuất thông tin hữu ích
- 29. Cookie được ký là gì và tại sao chúng hữu ích?
- 30. Tập hợp các biểu tượng mimetype miễn phí, miễn phí, hữu ích là gì?
bài Jesper của bạn liên kết khẳng định rằng mã không làm việc, nhưng sau đó bài giải thích rằng phiên bản mới hơn của Scala hỗ trợ nó: http://jnordenberg.blogspot.com/2009/09/type-lists-and-heterogeneously-typed.html – Blaisorblade