# có nghĩa là gì trong các chữ ký loại như seq<#seq<'a>>
so với chỉ seq<seq<'a>>
?# (dấu thăng) có nghĩa là gì trong chữ ký loại?
11
A
Trả lời
19
Điều này được gọi là loại linh hoạt. Tóm tắt ngắn gọn là #type
có nghĩa là mọi loại loại được kế thừa từ type
. Vì vậy, trong ví dụ cụ thể của bạn seq<#seq<'a>>
sẽ là một chuỗi bất kỳ bộ sưu tập nào có chứa các giá trị 'a
.
Khi gọi hàm, F # tự động tạo kiểu cụ thể cho giao diện - ví dụ: bạn có thể gọi hàm seq<'a>
với mảng 'a[]
làm đối số. Tuy nhiên, điều này không hoạt động khi bạn có mảng mảng - bởi vì 'a[][]
chỉ thực hiện seq<'a[]>
nhưng không hoạt động seq<seq<'a>>
.
Ví dụ, hai chức năng sau trở lại danh sách các độ dài của chuỗi lồng nhau:
let f1 (s:seq<seq<'T>>) = [ for i in s -> Seq.length i ]
let f2 (s:seq<#seq<'T>>) = [ for i in s -> Seq.length i ]
Nhưng chỉ một giây có thể được gọi vào danh sách của danh sách:
[ [1]; [2;3] ] |> f1
// error FS0001: The type 'int list list' is not
// compatible with the type 'seq<seq<'a>>'
[ [1]; [2;3] ] |> f2
// val it : int list = [1; 2]
Các vấn đề liên quan
- 1. Chữ "() V" có nghĩa gì trong chữ ký của lớp?
- 2. Ký tự dấu mũ (^) có nghĩa là gì?
- 3. Dấu thăng (#) trong tên tệp gây lỗi
- 4. "Dấu hiệu oauth_signature" có nghĩa là gì?
- 5. Số chữ số có nghĩa cho loại dấu phẩy động
- 6. "[*]" (sửa đổi dấu sao) có nghĩa là gì trong C?
- 7. Chữ "Instrumentation" có nghĩa là gì?
- 8. Dấu và (&) có nghĩa là gì trong ngôn ngữ Swift?
- 9. Ký hiệu "#" ký hiệu có nghĩa là gì trong clojure?
- 10. Dấu ngã (~) có nghĩa là gì trong CSS
- 11. Trong Swift, cái gì! biểu tượng có nghĩa là trong một chữ ký chức năng?
- 12. Dấu ngoặc vuông có nghĩa là gì? trong Java
- 13. Chữ "nghĩa đen" trong C++ là gì?
- 14. Ký hiệu '()' này có nghĩa là gì?
- 15. Loại "char (& (...)) [2]" có nghĩa là gì?
- 16. Dấu backtick trong tên loại có nghĩa là gì trong trình gỡ rối Visual Studio?
- 17. Dấu @ nghĩa là gì trong java?
- 18. Chữ ký printf là gì?
- 19. Làm gì !! (dấu chấm than đôi) có nghĩa là gì?
- 20. Dấu ngoặc có nghĩa là gì trong x86 asm?
- 21. gì dấu hỏi đôi có nghĩa là trong C#
- 22. Dấu hỏi trong hình dạng tensorflow có nghĩa là gì?
- 23. Dấu mũ (‘^’) có nghĩa là gì trong C++/CLI?
- 24. Dấu ngã (~) trong macro có nghĩa là gì?
- 25. Dấu phần trăm kép (%%) có nghĩa là gì trong R
- 26. phpMyAdmin - Dấu ngã (~) có nghĩa là gì trong cột hàng?
- 27. Dấu $ có nghĩa là gì trong Jquery hoặc JavaScript?
- 28. Dấu "/" ký hiệu/ký tự/ký tự có ý nghĩa gì trong Git?
- 29. "& _" có nghĩa là gì trong VB?
- 30. Ký tự đại diện có nghĩa là gì trong makefile?
Xem http: // msdn.microsoft.com/en-us/library/dd233228.aspx và cụ thể http://msdn.microsoft.com/en-us/library/dd233198.aspx. – rightfold