câu trả lời từ CMS chắc chắn là chính xác. Đây chỉ là một bổ sung có thể hữu ích. Trong F #, bạn thường muốn viết kiểu chỉ sử dụng thuộc tính không thay đổi. Khi sử dụng cú pháp "đối tượng khởi tạo", các thuộc tính phải có thể thay đổi được. Một thay thế trong F # là sử dụng các đối số được đặt tên, cung cấp cho bạn cú pháp tương tự, nhưng giữ cho mọi thứ không thay đổi:
type Person(name:string, ?birthDate) =
member x.Name = name
member x.BirthDate = defaultArg birthDate System.DateTime.MinValue
Bây giờ chúng ta có thể viết:
let p1 = new Person(name="John", birthDate=DateTime.Now)
let p2 = new Person(name="John")
Mã yêu cầu bạn chỉ định tên, nhưng ngày sinh là một đối số tùy chọn với một số giá trị mặc định.