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, ภาษานี้มีความหลากหลายของโครงสร้างข้อมูลสำหรับทุกสถานการณ์, กระตุ้นให้คุณเลือกเครื่องมือที่เหมาะสมที่สุดสำหรับงานนั้น ๆ