سلام درود خدمت همراهان همیشگی سایت پی وی لرن . با آموزش زبان برنامه نویسی #F همراهتون هستیم. map در #F ،نوع خاصی از set است که ارزش ها را با key مرتبط می کند. یک map به شیوه ای مشابه با sets ها ایجاد می شوند. بنابراین در این قسمت Maps در #F و ایجاد Map ها در اف شارپ رو داریم.
map ها با ایجاد یک map خالی با استفاده از Map.empty ایجاد شده و با استفاده از تابع Add آیتم ها اضافه می شوند. مثال زیر این را نشان می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | (* 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 |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 6 7 | 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")] |
شما می توانید با استفاده از key به عناصر فردی در map دسترسی پیدا کنید.
1 2 3 4 5 6 7 8 9 10 11 | (* 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"] |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 | Map - students: map [("Gillian Megan", "1504"); ("Rishita Gupta", "1502"); ("Robin Sahoo", "1503 "); ("Zara Ali", "1501")] "1501" |
جدول زیر عملیات پایه در map را نشان می دهد.
عضو | توضیحات |
---|---|
Add | map جدیدی را با پیوند اضافه شده به map داده شده برمی گرداند. |
ContainsKey | تست این که یک عنصر در دامنه map باشد. |
Count | تعداد اتصالات یا bindings در map . |
IsEmpty | true را باز می گرداند در صورتی که bindings در map وجود ندارد. |
Item | یک عنصر در map را جستجو کنید. KeyNotFoundException را اعلام می کند اگر هیچ bindings در map وجود ندارد. |
Remove | یک عنصر را از دامنه map حذف می کند. اگر عنصر وجود نداشته باشد، بدون استثنا اعلام می شود |
TryFind | یک عنصر در نقشه را جستجو کنید، مقدار Some را اگر یک عنصر در دامنه map باشد، و مقدار None را اگر عنصر در دامنه map نباشد را بازمی گرداند. |
مثال زیر استفاده از برخی از ویژگی های فوق را نشان می دهد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | (* 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." |
هنگامی که شما برنامه را کامپایل و اجرا می کنید، خروجی زیر را تولید می کند.
1 2 3 4 5 6 7 | 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. |
در این قسمت با Maps در #F و ایجاد Map ها در اف شارپ آشنا شدیم. موفق باشید.