Tôi đã nghe nói sẽ có một cú pháp mới trong DMD 2.058 cho các chức năng ẩn danh, nhưng tôi không thể tìm thấy bất kỳ thông tin nào về nó. Cú pháp mới là gì và cú pháp cũ sẽ không được chấp nhận?Cú pháp lambda mới là gì?
9
A
Trả lời
13
Tôi tin rằng nó giống như C#'s.
Sau đây là tương đương:
delegate(i, j) { return i + j; }
(i, j) => i + j
như là:
delegate(i) { return i; }
(i) => i
i => i // Can leave off parentheses
như là:
delegate(int i) { return i; }
(int i) => i
mặc dù tôi không chắc liệu các loại trở lại rõ ràng cũng được hỗ trợ trong cú pháp mới.
7
Hiện không có chức năng lambda nào đang được xóa. Nó chỉ là một cú pháp mới, terser đang được giới thiệu cho những ai muốn nó. Là Merhdad says, về cơ bản nó là cú pháp của C#, mặc dù tôi không biết nếu nó giống hệt 100%.
Vì vậy, thay vì làm một cái gì đó giống như
auto found = find!((a){return func(a) == value;})(range);
bạn làm điều gì đó như
auto found = find!(a => func(a) == value)(range);
Các vấn đề liên quan
- 1. Cú pháp biểu thức Lambda
- 2. "Cú pháp 3D" là gì?
- 3. Việc sử dụng cú pháp: = cú pháp là gì?
- 4. Cú pháp VB.NET để sử dụng List.FindAll() với lambda là gì?
- 5. Python 3.2 Lỗi cú pháp Lambda
- 6. Scala này 'mới' cú pháp
- 7. Cú pháp này là gì? ; (function ($, undefined)
- 8. Cú pháp Ruby này là gì?
- 9. Phân tích cú pháp là gì?
- 10. Cú pháp của hàm tĩnh là gì?
- 11. Cú pháp! Hàm() {...} có nghĩa là gì?
- 12. Phân tích cú pháp là gì?
- 13. Cây cú pháp trừu tượng là gì?
- 14. Cú pháp `& ::` trong CSS LESS là gì?
- 15. Cú pháp tệp Diff là gì
- 16. Cú pháp haskell này là gì?
- 17. Cú pháp "Mới ... Với" làm gì trong VB Linq?
- 18. Lambda là gì?
- 19. linq tham gia loại toán tử với cú pháp lambda
- 20. Tĩnh {} có nghĩa là gì trong Cú pháp Java?
- 21. **/* có nghĩa là gì trong cú pháp maven?
- 22. C# Cú pháp biểu thức Lambda: là dấu ngoặc cần thiết?
- 23. Cú pháp cho ORDERBY trong LINQ của VB.NET là gì?
- 24. "Cú pháp đã sửa đổi" trong OCaml là gì?
- 25. Loại hàm lambda là gì?
- 26. Cú pháp sau được sắp xếp (key = lambda :)
- 27. @ Html.EditorFor (m => m) cú pháp lambda trong MVC
- 28. Lỗi cú pháp trong lớp mẫu với biểu thức lambda
- 29. Tên của cú pháp cú pháp này là gì và tài liệu được viết ở đâu?
- 30. JavaScript: {} == false là một Cú pháp Cú pháp?
Có vẻ một chút ngớ ngẩn để hỏi, nhưng tôi giả định '(x) => {return x;}' dạng cũng được hỗ trợ? Nghĩa là, sử dụng toán tử với một khối câu lệnh được giới hạn bởi dấu ngoặc nhọn là hợp lệ? – CodexArcanum
@CodexArcanum: Không chắc chắn. – Mehrdad