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.