jawaban dari CMS pasti benar. Berikut ini hanya satu tambahan yang mungkin bisa membantu. Di F #, Anda sering ingin menulis tipe hanya menggunakan properti yang tidak dapat diubah. Saat menggunakan sintaks "object initializer", propertinya harus bisa berubah. Alternatif di F # adalah dengan menggunakan argumen bernama, yang memberi Anda sintaks yang serupa, tetapi menjaga semuanya tetap:
type Person(name:string, ?birthDate) =
member x.Name = name
member x.BirthDate = defaultArg birthDate System.DateTime.MinValue
Sekarang kita bisa menulis:
let p1 = new Person(name="John", birthDate=DateTime.Now)
let p2 = new Person(name="John")
Kode mengharuskan Anda untuk menentukan namanya, tetapi ulang tahun adalah argumen opsional dengan beberapa nilai default.