Từ khóa F # 'Một số' - ý nghĩa của từ khóa là gì?F # từ khóa 'Một số'
Trả lời
Some
không phải là từ khóa. Tuy nhiên, có một loại option
, là một công đoàn phân biệt đối xử chứa hai điều:
Some
giữ giá trị của một số loại.None
thể hiện thiếu giá trị.
Nó định nghĩa là:
type 'a option =
| None
| Some of 'a
Nó hoạt động giống như một loại nullable, nơi bạn muốn có một đối tượng mà có thể giữ một giá trị của một số loại hoặc không có giá trị gì cả.
let stringRepresentationOfSomeObject (x : 'a option) =
match x with
| None -> "NONE!"
| Some(t) -> t.ToString()
Có thể xem Discriminated Unions in F# để biết thêm thông tin về DU nói chung và loại tùy chọn (Một số, Không) nói riêng. Như một câu trả lời trước đó nói, Một số chỉ là một trường hợp công đoàn của tùy chọn < 'a> loại, mà là một ví dụ đặc biệt phổ biến/hữu ích của một loại dữ liệu đại số.
Some
được sử dụng để chỉ định tùy chọn tùy chọn hoặc nói cách khác là loại có thể có hoặc không tồn tại.
F # là khác với hầu hết ngôn ngữ trong đó kiểm soát dòng chảy chủ yếu thực hiện thông qua Pattern Matching như trái ngược với truyền thống if/else logic.
Trong truyền thống if/else logic, bạn có thể thấy một cái gì đó như thế này:
If (isNull(x)) { do ...
} else { //x exists do ...
}
Với mô hình phù hợp với logic, phù hợp với chúng ta cần một cách tương tự để thực thi mã nhất định nếu một giá trị là null, hoặc trong F # cú pháp, Không
như vậy chúng ta sẽ có cùng một mã như
match x with | None -> do ... | Some x -> do ...
- 1. F # - Từ khóa "nó" là gì?
- 2. truy cập Net lĩnh vực từ F # khi tên trường là một từ khóa dành riêng
- 3. F # tương đương với C# 'đối tượng' từ khóa
- 4. F # tương đương với `is` từ khóa trong C#?
- 5. F # iteration qua một từ điển
- 6. Hầu hết các cách thức phân biệt đối số từ khóa bằng cách sử dụng một biến làm từ khóa?
- 7. Đếm số từ khóa trong một từ điển trong python
- 8. F #: Một số, Không, hoặc Ngoại lệ?
- 9. Định dạng chuỗi [str.format()] bằng một khóa từ điển là một số str() của một số
- 10. Một dãy số nguyên làm khóa cho từ điển
- 11. vim không làm nổi bật một số C++ từ khóa
- 12. F # tương đương với số
- 13. Từ khóa dành riêng nào trong thông số ngôn ngữ F # nên được triển khai trong vNext?
- 14. Đối số từ khóa động trong Python?
- 15. PyObject_CallMethod với đối số từ khóa
- 16. Thông số F # đi qua
- 17. Tạo một đối tượng trong C# từ F # đối tượng với đối số tùy chọn
- 18. Gọi một bậc cao hơn F # chức năng từ C#
- 19. Howto viết một hàm lấy số biến số của các đối số trong F #
- 20. Sử dụng System.String.Split từ F #
- 21. Một số tài nguyên tốt cho việc học F # hãy
- 22. Đường ống một tham số khác vào dòng trong F #
- 23. Chuyển từ điển sang hàm trong python dưới dạng tham số từ khóa
- 24. f # chuỗi tổng số đang chạy
- 25. Sử dụng OpenCV từ F #
- 26. Bạn đồng ý và từ khóa trong F # trong đoàn bị phân biệt
- 27. Xác định các từ khóa mới trong biểu thức tính toán của F #
- 28. Lấy x số từ trước và sau một từ khóa nhất định?
- 29. Trường hợp không nhạy cảm với khóa f trong vim?
- 30. Tạo tham số F # trích dẫn