2015-12-13 15 views
11

Giống như LINQ trong C#, để hiểu trong Scala, bất cứ điều gì tương tự trong Kotlin? Nếu không được hỗ trợ, nó có được lên kế hoạch không?Kotlin có hỗ trợ đọc đơn sắc không?


EDIT: Câu trả lời là hỗ trợ hiểu được nằm trên bàn.

+5

Tôi nghĩ rằng, đã có một số hiểu lầm ở đây. Không có chính sách như vậy là không sử dụng monads ở bất cứ đâu. Một số cấu trúc giống như đơn nguyên, chẳng hạn như các cuộc gọi an toàn cho các kiểu nullable, được tích hợp vào ngôn ngữ. Hiện tại, chúng tôi không hỗ trợ tính năng đọc nhưng tính năng này có trên bảng. –

+0

Như @AndreyBreslav lưu ý, Kotlin không sử dụng các công trình xây dựng monadic mà nó có ý nghĩa. Những gì tôi nói trong câu trả lời của tôi là không có mục tiêu để sử dụng monads trong ** mỗi ** khái niệm ngôn ngữ duy nhất – voddan

Trả lời

5

Trong phiên bản xem trước của Kotlin 1.1 có phổ async/await cú pháp có thể được sử dụng cho các loại khác nhau của comprehensions monadic:

Nhiều ngôn ngữ (bắt đầu với C# vào năm 2012) hỗ trợ đồng bộ lập trình thông qua ngôn ngữ chuyên dụng các cấu trúc như async/await từ khóa. Trong Kotlin, chúng tôi khái quát khái niệm này để các thư viện có thể xác định các phiên bản của riêng chúng về các cấu trúc như vậy và async không phải là từ khóa , mà chỉ đơn giản là một hàm.

Thiết kế này cho phép tích hợp các API không đồng bộ khác nhau: tương lai/lời hứa, gọi lại, v.v. Nó cũng đủ chung cho trình tạo tốc độ lười (sản lượng) và bao gồm một số trường hợp sử dụng khác.

source

+0

thx. không biết async/await là tương tự như return/bind. cũng rất vui khi thấy các tính năng mới trong 1.1 –

Các vấn đề liên quan