Elixir:
การใช้แอเรย์สมาชิก
วิธีการ:
การสร้าง Map นั้นทำได้ง่ายโดยใช้ syntax %{}
เช่น:
my_map = %{"name" => "Alex", "age" => 32}
IO.inspect(my_map)
การเข้าถึงค่าทำได้โดยการใช้คีย์:
IO.puts my_map["name"]
ผลลัพธ์: Alex
เพื่อเพิ่มหรืออัปเดตค่า, คุณสามารถใช้ฟังก์ชัน Map.put/3
:
updated_map = Map.put(my_map, "location", "NY")
IO.inspect(updated_map)
ผลลัพธ์: %{"age" => 32, "location" => "NY", "name" => "Alex"}
การลบคีย์ก็ง่ายด้วย Map.delete/2
:
trimmed_map = Map.delete(updated_map, "age")
IO.inspect(trimmed_map)
ผลลัพธ์: %{"location" => "NY", "name" => "Alex"}
ล้ำลึก
Maps ใน Elixir เป็นการพัฒนาต่อจากประเภทการเก็บข้อมูลคีย์-ค่าแบบเก่า, เช่น Hashes ใน Ruby หรือ Dictionaries ใน Python พวกมันอนุญาตให้ทำการค้นหาและแทรกได้มากขึ้นด้วยประสิทธิภาพ, ทำให้เป็นตัวเลือกสำหรับการเขียนโปรแกรม Elixir สมัยใหม่ ควรทราบว่าก่อนมี Maps, Elixir ใช้โมดูล HashDict และ Dict ซึ่งตอนนี้ถูกยกเลิกแล้ว
อย่างไรก็ตาม, สำหรับสถานการณ์ที่ต้องการข้อมูลเรียงลำดับ, คุณอาจดูที่ keyword lists ใน Elixir นี่คือรายการของทูเพิล, มีประสิทธิภาพสำหรับการรวบรวมขนาดเล็กแต่ไม่จำกัดประสิทธิภาพสำหรับชุดข้อมูลขนาดใหญ่เหมือนกับ Maps
จำไว้ว่า Maps เก็บคีย์ไว้ในโครงสร้าง “แบน”, ทำให้การเข้าถึงค่าที่ซ้อนกันโดยตรงบางครั้งอาจจะยาก สำหรับการซ้อนข้อมูลลึก, คุณอาจพิจารณาการเข้าถึงโครงสร้างผ่านฟังก์ชัน get_in
, put_in
, update_in
, และ get_and_update_in
, ซึ่งอนุญาตให้มีวิธีการที่ยืดหยุ่นกว่าในการจัดการข้อมูลที่ซับซ้อน
โดยสรุป, ในขณะที่ Maps เป็นตัวเลือกหลักสำหรับความต้องการอาร์เรย์แบบผูกคู่ใน Elixir, ภาษานี้มีความหลากหลายของโครงสร้างข้อมูลสำหรับทุกสถานการณ์, กระตุ้นให้คุณเลือกเครื่องมือที่เหมาะสมที่สุดสำหรับงานนั้น ๆ