F #-지도
F #에서 맵은 값을 키와 연결하는 특수한 종류의 집합입니다. 세트가 생성되는 것과 유사한 방식으로 맵이 생성됩니다.
지도 만들기
Map.empty를 사용하여 빈지도를 만들고 Add 기능을 사용하여 항목을 추가하여지도를 만듭니다. 다음 예제는 이것을 보여줍니다-
예
(* 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
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
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")]
키를 사용하여지도의 개별 요소에 액세스 할 수 있습니다.
예
(* 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"]
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
Map - students: map
[("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503
");
("Zara Ali", "1501")]
"1501"
지도의 기본 작업
모듈 이름 추가
다음 표는지도에 대한 기본 작업을 보여줍니다-
회원 | 기술 |
---|---|
더하다 | 지정된지도에 바인딩이 추가 된 새지도를 반환합니다. |
ContainsKey | 요소가지도의 도메인에 있는지 테스트합니다. |
카운트 | 맵의 바인딩 수입니다. |
비었다 | 맵에 바인딩이 없으면 true를 반환합니다. |
안건 | 지도에서 요소를 찾습니다. 맵에 바인딩이없는 경우 KeyNotFoundException을 발생시킵니다. |
없애다 | 지도의 도메인에서 요소를 제거합니다. 요소가 없으면 예외가 발생하지 않습니다. |
TryFind | 지도에서 요소를 조회하여 Some 요소가지도의 도메인에 있고 None 그렇지 않다면. |
다음 예제는 위의 일부 기능의 사용을 보여줍니다-
예
(* 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."
프로그램을 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다.
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.