2010-07-27 39 views
12

Trong F #, bạn có thể xác định các nhà khai thác tùy chỉnh nhưF # Tuỳ chỉnh khai thác Precedence

let (=~) input pattern = Regex.IsMatch(input, pattern) 

Không giống như Haskell, nhà khai thác tùy chỉnh được định nghĩa mà không độ ưu tiên. Các ưu tiên toán tử của toán tử tùy chỉnh trong F # là gì?

Trả lời

20

Ưu tiên toán tử được xác định bởi (các) ký tự đầu tiên, theo số predefined table.

+2

Xem thêm thông số F #: http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.html#_Toc264041843 – kvb

+0

Không thể tìm thấy quyền ưu tiên của các toán tử bắt đầu bằng ' @ ', nhưng có thể xác định các toán tử như vậy, định dạng là '@'. – Gebb

+0

Từ nguồn được trích dẫn bởi câu trả lời: "F # hỗ trợ quá tải toán tử tùy chỉnh. Điều này có nghĩa là bạn có thể xác định toán tử của riêng bạn. Trong bảng trước, op có thể là bất kỳ chuỗi ký tự hợp lệ (có thể trống) nào, được tích hợp hoặc Do đó, bạn có thể sử dụng bảng này để xác định chuỗi ký tự nào được sử dụng cho toán tử tùy chỉnh để đạt được mức ưu tiên mong muốn. " –