F # - Peta
Di F #, peta adalah jenis himpunan khusus yang mengaitkan nilai dengan kunci. Peta dibuat dengan cara yang sama seperti set dibuat.
Membuat Peta
Peta dibuat dengan membuat peta kosong menggunakan Map.empty dan menambahkan item menggunakan fungsi Tambah. Contoh berikut menunjukkan ini -
Contoh
(* Create an empty Map *)
let students =
Map.empty. (* Creating an empty Map *)
Add("Zara Ali", "1501").
Add("Rishita Gupta", "1502").
Add("Robin Sahoo", "1503").
Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students
(* Convert a list to Map *)
let capitals =
[ "Argentina", "Buenos Aires";
"France ", "Paris";
"Chili", "Santiago";
"Malaysia", " Kuala Lumpur";
"Switzerland", "Bern" ]
|> Map.ofList;;
printfn "Map capitals : %A" capitals
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
Map capitals : map
[("Argentina", "Buenos Aires"); ("Chili", "Santiago"); ("France ", "Paris");
("Malaysia", " Kuala Lumpur"); ("Switzerland", "Bern")]
Anda dapat mengakses elemen individu di peta menggunakan kunci.
Contoh
(* Create an empty Map *)
let students =
Map.empty. (* Creating an empty Map *)
Add("Zara Ali", "1501").
Add("Rishita Gupta", "1502").
Add("Robin Sahoo", "1503").
Add("Gillian Megan", "1504");;
printfn "Map - students: %A" students
(*Accessing an element using key *)
printfn "%A" students.["Zara Ali"]
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
"1501"
Operasi Dasar di Maps
Tambahkan nama modul
Tabel berikut menunjukkan operasi dasar pada peta -
Anggota | Deskripsi |
---|---|
Menambahkan | Mengembalikan peta baru dengan pengikatan yang ditambahkan ke peta yang diberikan. |
ContainsKey | Menguji apakah suatu elemen ada dalam domain peta. |
Menghitung | Jumlah binding di peta. |
Kosong | Mengembalikan nilai true jika tidak ada binding di peta. |
Barang | Cari elemen di peta. Menambah KeyNotFoundException jika tidak ada pengikatan di peta. |
Menghapus | Menghapus elemen dari domain peta. Tidak ada pengecualian yang dimunculkan jika elemen tidak ada. |
TryFind | Cari elemen di peta, mengembalikan a Some nilai jika elemen berada dalam domain peta dan None jika tidak. |
Contoh berikut menunjukkan penggunaan beberapa fungsi di atas -
Contoh
(* Create an empty Map *)
let students =
Map.empty. (* Creating an empty Map *)
Add("Zara Ali", "1501").
Add("Rishita Gupta", "1502").
Add("Robin Sahoo", "1503").
Add("Gillian Megan", "1504").
Add("Shraddha Dubey", "1505").
Add("Novonil Sarker", "1506").
Add("Joan Paul", "1507");;
printfn "Map - students: %A" students
printfn "Map - number of students: %d" students.Count
(* finding the registration number of a student*)
let found = students.TryFind "Rishita Gupta"
match found with
| Some x -> printfn "Found %s." x
| None -> printfn "Did not find the specified value."
Ketika Anda mengkompilasi dan menjalankan program, itu menghasilkan output berikut -
Map - students: map
[("Gillian Megan", "1504"); ("Joan Paul", "1507"); ("Novonil Sarker", "1506"
);
("Rishita Gupta", "1502"); ("Robin Sahoo", "1503");
("Shraddha Dubey", "1505"); ("Zara Ali", "1501")]
Map - number of students: 7
Found 1502.